谷歌地图不能在移动浏览器中工作

Google Maps doesn't work in mobile browser

本文关键字:工作 浏览器 移动 不能 谷歌地图      更新时间:2023-09-26

我遵循了这里的说明,在台式机上有很好的效果,但在移动浏览器上地图只是空白的(在Android, iOS上勾选)。似乎该脚本没有在移动设备上运行(javascript在浏览器中是允许的),因为结果页面在div#map_leads中没有执行代码。

就是这样。

有谁能帮忙解决这个问题吗?

制作了一个更清晰的页面,其中只包含地图,一切都很好…将尝试在网站上找到错误的代码。

我发现地图不工作的原因是以下javascript:

(function() {
function t(e) {
this.path=e;
var t=this.path.split("."),n=t.slice(0,t.length-1).join("."),r=t[t.length-1];
this.at_2x_path=n+"@2x."+r
}
function n(e) {
this.el=e,this.path=new t(this.el.getAttribute("src"));
var n=this;
this.path.check_2x_variant(function(e){e&&n.swap()})
}
var e=typeof exports=="undefined"?window:exports;
e.RetinaImagePath=t,
t.confirmed_paths=[],
t.prototype.is_external=function(){
return!!this.path.match(/^https?':/i)&&!this.path.match("//"+document.domain)
},
t.prototype.check_2x_variant=function(e){
var n,
r=this;
if(this.is_external())return e(!1);
if(this.at_2x_path in t.confirmed_paths)return e(!0);
n=new XMLHttpRequest,
n.open("HEAD",this.at_2x_path),
n.onreadystatechange=function(){
return n.readyState!=4?e(!1):n.status>=200&&n.status<=399?(t.confirmed_paths.push(r.at_2x_path),
e(!0)):e(!1)},
n.send()
},
e.RetinaImage=n,
n.prototype.swap=function(e){
function n(){
t.el.complete?(
t.el.setAttribute("width",t.el.offsetWidth),
t.el.setAttribute("height",t.el.offsetHeight),
t.el.setAttribute("src",e)
):setTimeout(n,5)}
typeof e=="undefined"&&(e=this.path.at_2x_path);
var t=this;
n()},
e.devicePixelRatio>1&&(window.onload=function(){
var e=document.getElementsByTagName("img"),t=[],r,i;
for(r=0;r<e.length;r++)i=e[r],t.push(new n(i))})})();

我自己把它分成几行,因为它本来是一行写的。我会尝试修复它-认为img元素有问题。

在发布的脚本的末尾添加了地图功能,它工作得很好。对不起,浪费了你的时间!

相关文章: