javascript - 百度外卖选择地址中的地图功能是怎么实现的?
黄舟
黄舟 2017-04-11 11:22:24
0
1
406

最近需求要做一个类似百度外卖点餐后选择地址时定位的功能,具体的意思大概是点击后弹出百度地图,上面的地图部分大头针固定,地图可以拖动,拖动后下面的列表中会出现附近的建筑物信息,我看了百度地图的API,似乎没有找到相关的内容,请问这个功能是怎么实现的,能够实现吗,是不是百度地图针对外卖定制的这个功能呢?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复 (1)
洪涛

可以实现,之前做过这个。不过需要自行 DIY 一些元素上去,比如那个固定大头针(虽然自带的有,可总归是丑)和附近地点的列表。

有几个类你需要了解:

Geocoder

通过getLocation可以对一个目标地点进行解析,回调中可以拿到一个GeocoderResult对象。

GeocoderResult

其中的surroundingPois属性是一个数组,也就是附近的POI点信息,其他属性比如address也可能会用到,你可以输出下看看。

LocalResultPoi

上面的数组中的每个元素是一个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 < len; i++){ poi = pois[i]; console.log('第' + i + '个POI, title: ' + poi.title + ', address: ' + poi.address) } }, { poiRadius: 500, // 检索范围,单位:米 numPois: 10 // 返回的POI点个数 });

至于你想怎么显示,自己发挥吧。

    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责声明 Sitemap
    PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!