在现在项目中使用到了百度地图:
1.订单起点设置为中心点
2.显示周围司机
在这个过程中遇到两个问题:
1、订单中心点左上角位置,网上查了很多资料,说是在div在隐藏的状态下创建BMap会出现这种情况,此时,默认为宽度和高度都为0,中心点自然就跑到左上角去了,网上
很多说了很多解决方案,map.centerAndZoom(point,15); map.setCenter(point); 查看百度API还有panTo();等等一些方法,还是没有解决问题,最终在API里面事件里找到了:地图加载完毕的事件,等地图加载完毕,在这个事件里在将地图的中心点设置成自己想要的点:
map.addEventListener("tilesloaded",function(){map.setCenter(point); });2、地图有时显示的出来,有时加载不出来,开始以为是网速问题,后来觉得不是网速问题,是每次点击都加在百度地图,加载次数过多导致,解决方法就是指在加载js的时候加载一次百度地图就解决问题了,方法啊如下:
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=百度秘钥&callback=initMap"></script>
然后在你的js里面定义initMap方法:
<pre name="code" class="javascript">var map; function initMap() { // 添加百度地图 map = new BMap.Map("allmap"); }然后就解决问题了。
原文地址:http://blog.csdn.net/zhujianli1314/article/details/45696259