js 百度地图缩放位置偏移问题

JavaScript012

js 百度地图缩放位置偏移问题,第1张

问题原理:百度地图的缩放是基于body层的,如果body层有滚动条,并且不在最顶端,在当前位置插入了百度地图,也就是出现该问题时的状态,这个时候滚轮缩放就会产生偏移。

解决办法:当地图加载的时候执行

$(window).scrollTop(0)

也就是将父元素滚动到页面最顶端

页面引入百度地图API:

产生如下问题:

即为报错:A Parser-blocking, cross-origin script, is invoked via document.write.

在页面渲染完成后就不能使用 document.write 方法。

根据 博客 的说明尝试如下方法:

出现问题:

后来发现页面引入的百度的js内容为:

里面包含了 document.write方法,异步加载的js是不允许使用document.write方法的

直接引用这两个地址的js http://api.map.baidu.com/getscript?type=quick&file=api&ak=o9B4Ol99j9NcBXSu5nFTR7uI&t=20140109092002 和 http://api.map.baidu.com/getscript?type=quick&file=feature&ak=o9B4Ol99j9NcBXSu5nFTR7uI&t=20140109092002 就可以了

给自定义覆盖物添加了click事件后,页面跳转再跳回有覆盖物的页面时,点击事件失效了。

之前是 div.onclick=function(){}

于是

var bugFlag=true

div.addEventListener("touchstart", function(e){

bugFlag = true

})

div.addEventListener("touchmove", function(e){

$timeout(function () {

bugFlag = false

},100) // 移动端的话需要延时

})

div.addEventListener("touchend", function(e){

if(bugFlag==true){

attribute(this.getAttribute('myId'),this.getAttribute('myTotal'),this.getAttribute('startCity'))

}

})

这样的话,拖动地图不会触发点击事件了。