可以实现,之前做过这个。不过需要自行 DIY 一些元素上去,比如那个固定大头针(虽然自带的有,可总归是丑)和附近地点的列表。
有几个类你需要了解:
通过 getLocation 可以对一个目标地点进行解析,回调中可以拿到一个 GeocoderResult 对象。
其中的 surroundingPois 属性是一个数组,也就是附近的POI点信息,其他属性比如 address 也可能会用到,你可以输出下看看。
上面的数组中的每个元素是一个 LocalResultPoi 对象,可以通过它的属性输出你想要的信息。
示例:
var map = new BMap.Map('map');var geocoder = new BMap.Geocoder();var point = new BMap.Point(xxx, xxx); //标注所在的目标点geocoder.getLocation(point, function(result) { console.log('address: ' + result.address);
var pois = result.surroundingPois;
for(var poi, i = 0, len = pois.length; i
poi = pois[i]; console.log('第' + i + '个POI, title: ' + poi.title + ', address: ' + poi.address)
}
}, { poiRadius: 500, // 检索范围,单位:米
numPois: 10 // 返回的POI点个数});
至于你想怎么显示,自己发挥吧。