高德地图Marker与InfoWindow定位居中冲突问题
来源:互联网 发布:淘宝虚假交易处罚2016 编辑:程序博客网 时间:2024/05/01 10:42
最近的项目里有功能模块需要实现地图显示,用的是高德地图.前不久发现个小问题,项目需要实现点击某个Marker时将地图放大到合适的级别,中心点设置为当前Marker的坐标,并显示一个InfoWindow;问题所在就是当点击该Marker的时候,经常无法将地图中心设置为当前Marker的坐标,导致Marker跑偏了十万八千里,视野内的地图空无一物..相当的不友好…..
之前实现这个功能的代码如下:
var infoWindow = new AMap.InfoWindow({offset: new AMap.Pixel(0, -15),autoMove:true});infoWindow.setContent(marker.content);infoWindow.open(map, marker.getPosition());map.setZoomAndCenter(map.getZoom()>13?map.getZoom():14,marker.getPosition());//设置地图放大级别及居中
解决方法如下:
var infoWindow = new AMap.InfoWindow({offset: new AMap.Pixel(0, -15),autoMove:true});infoWindow.setContent(marker.content);setTimeout(function(){ infoWindow.open(map, marker.getPosition()); },400);map.setZoomAndCenter(map.getZoom()>13?map.getZoom():14,marker.getPosition());//设置地图放大级别及居中
猜测原因在于InfoWindow的open方法,官方API只给出了这个方法需要两个参数,map对象以及指定坐标.这里要吐槽一下高德的API,做地图的时候要啥啥没有= =
至于具体是啥原因其实还没找到,如果哪位大师知道是啥原因的还望指点
解决方法就是在js里加个setTimeout方法,待地图中心点被设置为Marker的坐标后再执行Infowindow的open方法,这样就能解决以上出现的问题
延迟400毫秒完美解决
阅读全文
0 0
- 高德地图Marker与InfoWindow定位居中冲突问题
- 高德地图点击marker,infoWindow不显示问题
- 高德地图 amap 显示 marker和自定义的infoWindow
- 高德地图自定义Marker点击时出现的InfoWindow
- 高德地图自定义marker的图片定位的问题
- 高德地图API开发应用-----地图显示+定位+marker
- 高德 地图sdk中,自定义弹出框(气泡,对话框,InfoWindow,Marker)
- 我的高德地图之定位,Marker,位置信息。
- android 之 高德地图-定位-poi-marker
- 百度地图覆盖物Marker与infoWindow的使用
- 高德地图 自定义 InfoWindow 添加 RecyclerView 问题
- 仿去哪网酒店的地图:POI、定位、国际地图、导航、marker及其自定义infowindow
- 高德地图自定义marker不显示的问题
- Android高德地图Marker的隐藏与重现
- 高德地图之地图篇----->定位的蓝点、添加Marker
- 解决JPush与高德地图冲突问题
- 高德地图infowindow点击其他地方消失
- 高德地图自定义infowindow窗口
- 设计模式-中介者模式
- 编程练习3——05
- hdu1075-What Are You Talking About 字典树
- Gym
- Javascript--Array数组的splice()方法之删除、插入、替换
- 高德地图Marker与InfoWindow定位居中冲突问题
- CodeForces
- Laravel 引入没有命名空间的第三方类库
- HashMap和HashTable的简单比较
- C++之循环结构
- HDU_3791 二叉搜索树
- 《leetCode》:Remove Duplicates from Sorted Array
- 符号定义伪指令
- 设计模式-职责链模式