金枪少年
金枪少年
  • 发布:2018-03-02 10:12
  • 更新:2018-03-02 20:58
  • 阅读:1848

百度地图:用户在地图上点选位置,无法获得省市信息,只能获得地址

分类:HTML5+

需求是这样的:
用户可以在地图上选择自己的工作地点,我会在地图上加一个Marker,同时用js获得详细地址address,和省,市,地区,已经对应的code。

现在的问题是我用plus.maps.Map.reverseGeocode只能获得address信息
plus.maps.Map.reverseGeocode(point,{},function(event){
console.log(JSON.stringify(event));
//结果是{"coord":{"longitude":109.197512,"latitude":34.497593},"address":"陕西省西安市临潼区","coordType":"bd09ll"}
},function(e){
mui.toast("Failed:"+JSON.stringify(e));
});

如果我用var posObj = new plus.maps.Position( new plus.maps.Point(116.404,39.915) );
获取的省市信息都是空的,没有值。

这个如何破呢,有人遇到吗?

2018-03-02 10:12 负责人:无 分享
已邀请:
miskss

miskss - peter

  • 金枪少年 (作者)

    var map = new BMap.Map("allmap");

    var point = new BMap.Point(116.331398,39.897445);

    map.centerAndZoom(point,12);

    var geoc = new BMap.Geocoder();

    map.addEventListener("click", function(e){

    var pt = e.point;

    geoc.getLocation(pt, function(rs){

    var addComp = rs.addressComponents;

    alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);

    });

    });


    不知道为啥dcloud不实现这个呢


    2018-03-02 13:17

金枪少年

金枪少年 (作者)

http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding

用这个解决,在后台服务器端访问百度的服务器api

老向

老向

https://api.map.baidu.com/geocoder/v2/?output=json&location=116.3977,39.906016&ak=youkey&pois=0

用ajx取结果!ak自己到百度地图开放平台去申请!返回的是JOSN,里面什么都有了!行政区划代码都有的!

该问题目前已经被锁定, 无法添加新回复