我写了一段代码。按情况,应该是可以通过“地点名称”来查到地点的经纬度的,却没想到结果皆是0。我应该如何才能通过“百度地图”来得到经纬度呢?代码如下:[code]
var map = new BMap.Map("l-map");
map.centerAndZoom("北京",12);

var lng = map.getCenter().lng;
var lat = map.getCenter().lat;alert("(" + lng + ", " + lat + ")");
[/code]结果是(0, 0)。我们中国全都成了水王巴了谁能告诉我解决办法

解决方案 »

  1.   

    因为你传递的是地址,还需要将地址内容回传给百度解析后才能返回经纬度,这个过程是异步的,centerAndZoom方法又不能挂起下面的js代码执行,所以未返回前都是0给地图添加load事件,在事件中获取经纬度     var map = new BMap.Map("l-map");
         map.addEventListener('load', function () {
             var lng = map.getCenter().lng;
             var lat = map.getCenter().lat;         alert("(" + lng + ", " + lat + ")");
         });
         map.centerAndZoom("北京", 12);