百度地图定位可以根据任意具体地址定位么?

lifesimple
  • 816

需要是这样的,省市县(区)+输入的具体地址,比如浙江省杭州市滨江区XXX路... 旁边有个打开地图的按钮,
点击打开地图定位到前面写的具体地址。
图片描述

百度地图api-定位示例demo
提供了四种定位方式:浏览器 ip 城市 经纬度

这里看的话,感觉我只能在地址中取出城市,然后定位的那个城市。
有没有能进一步定位的api/方法,定位到城市下的某一个区域比如百度地图定位到杭州市滨江区 甚至能定位到某一条街道,但这边有个问题因为后面的具体地址是人为输入的可能写的有问题再百度地图上并不能找到。

有同学遇到过这样的需求么,有什么好一点的解决方案么?

---------------------补充 分割线----------------------------------------------------
回答提示说,先将具体地址转换成经纬度然后再根据经纬度做定位,查了下百度api 有这个相关api Geocoding Api
定位demo示例
请求的url

api.map.baidu.com/geocoder/v2/?ak=E4805d16520de693a3fe707cdc962045&callback=renderOption&output=json&address=百度大厦&city=北京市

返回数据

renderOption&&renderOption({"status":0,"result":{"location":{"lng":116.30775539540982,"lat":40.05685561073758},"precise":1,"confidence":80,"level":"商务大厦"}})

怎么说呢,但感觉很多具体地址(比较偏的小地方)可能会就会出现校验失败的情况。我将上面的请求url改成“杭州大厦” “杭州市”居然没定位到,有点奇怪(杭州大厦应该地标性建筑了 讲道理不该查不到,还是我用的不对)

api.map.baidu.com/geocoder/v2/?ak=E4805d16520de693a3fe707cdc962045&callback=renderOption&output=json&address=杭州大厦&city=杭州市

返回数据

{"status":220,"message":"APP Referer校验失败"}

将省市县具体地址转成经纬度有什么更好一点的解决方案么?省市县是固定选的,但具体地址是人为填的也可能出现填写错误的情况。

回复
阅读 7.4k
3 个回答

建议你先把具体的地址转换成经纬度,然后用经纬度来定位

建议使用经纬度来定位

宣传栏