我们在做多点标注的时候,应该都是这些有多个经纬度数组对 ,一块同时在地图上面显示出来
首先是要有要显示的经纬度数组rows[{"xy":"经度,纬度"},{"xy":"经度,纬度"},{"xy":"经度,纬度"}] 这个是逆地址解析(根据经纬度解析地址)
for(var i=0,marker;i<rows.length;i++){
AMap.service('AMap.Geocoder',function(){//回调函数
//实例化Geocoder
geocoder = new AMap.Geocoder({
city: ""//城市,默认:“全国”
});
var lnglatXY=rows[i].xy.split(',');//地图上所标点的坐标
geocoder.getAddress(lnglatXY, function(status, result) {
if (status === 'complete' && result.info === 'OK') {
//获得了有效的地址信息:
//即,result.regeocode.formattedAddress
//alert(alert(JSON.stringify(result)));
还有一种地址解析方法
var xy = rows[i].xy;
var Arry = [];
Arry = xy.split(",");
lng = Arry[0];
lat = Arry[1];
var lnglatXY=new AMap.LngLat(lng,lat);
//加载地理编码插件
map.plugin(["AMap.Geocoder"],function(){
geocoder=new AMap.Geocoder();
//返回地理编码结果
AMap . event . addListener(geocoder, "complete",geocoder_callBack);
//逆地理编码
geocoder.getAddress(lnglatXY);
});
function geocoder_callBack(data) { //回调函数
var address;
//返回地址描述
address = data.regeocode.formattedAddress;
//alert(JSON.stringify(data));
}
这两种方法都可以地址逆解析,但是用到多点标注我感觉还是用第一种比较好。