高德地图怎么根据定位点获取附近的唯一道路名称?

简介: 问题如题所示:高德地图怎么根据定位点获取附近的唯一道路名称?

今天后台有小伙伴问题一个问题,刚好另一篇推文还没这么快,那就先插个队吧。


问题如题所示:高德地图怎么根据定位点获取附近的唯一道路名称?


这个小伙伴应该是看了强哥之前的写过的《高德地图根据输入地址查询轨迹路线以及获取到所有的路线上的经纬度点》所以来问相关问题的。刚好,我也是比较感兴趣,所以就试着找找解决办法。


首先强哥第一眼看到问题后,就被两个关键字吸引了,没错:附近。有做个地图功能或者经常用地图的小伙伴应该很容易联想到,高德地图上就带有附近的功能,而其相关的API应该就是搜索POI了。


于是不用多说,直接打开高德开放平台,定位到搜索POI,其中便有一个“周边搜索”相关的章节:


https://developer.amap.com/api/webservice/guide/api/search


嗯哼,看来问题还是比较好解决的嘛。看了下对应的接口参数中,有一个可选参数,解释如下:


3.png


哦,从解释中可以看出,types既然是一个类型编码,除了加油站、城市之类的应该也会有我们需要的道路名称,那对应的types会是什么呢?不用多说,直接点击下载图中的《POI分类编码和城市编码表》看看有没有就知道了。


下载下来后,果然有类似的道路名称信息类型:


4.png


嗯,图中190300和190301看着都是我们需要的,直接在页面试试就知道了。高德地图刚好也提供了比较方便的测试方法:


5.png


我们从返回的pois中便能获取到该定位点周边的道路名。是不是很快很方便。


有的小伙伴会问,返回的pois是个数组,这个怎么办呢?到底哪个才是当前定位点最近的道路呢?而且,radius为500米这个也太大了。


强哥经过多次测试后,确实也发现了一下问题,有的定位点,radius缩小到100都能找到数据,可是有的定位点就不行,或者找到多个数据。而如果是多个数据的情况,由于给出来的道路都带有坐标,其实并不是能简单的根据判断两个点的距离然后排序就能获取到最近道路的。以为你不懂得到底高德地图会拿这条路上的哪个点作为返回的定位点。有时候定位点就在这条路上,可是因为radius设置的距离关系,可能会返回多条路的定位信息。


所以,这个方法,粗略的用来找定位点周边有哪些路倒是没有问题,可是要找最近的道路名称就不是特别合适了。


既然不太行,那就再找找其他的API吧。其实高德地图开放出来的API也不算太多,只要你愿意多去试试还是能找到一些能解决问题的功能的。


搜索了一番之后,强哥在“地理/逆地理编码”这节中:


https://lbs.amap.com/api/webservice/guide/api/georegeo


找到了更合适的解决方法:逆地理编码。


同样的一套测试下来结果如下:


6.png


强哥通过多次测试,只要定位点离道路的距离不会非常远(同样跟设置的radius参数有关)。都能在返回结果中的roads中获取到最近的一条路的名称,虽然同样是数组,但是觉得精确很多。如果定位点在就在道路上,返回的肯定是当前这条道路的名称。


再者说,返回的结果名都叫roads,准确率明显比之前POI搜索中用types来区分的方式更明确也更靠谱。


由此我们便找到了解决问题的API。哈哈,看着是不是很简单。不过,整个过程还是需要花费一些时间去查找事例文档以及对API进行测试。直接给出答案,反而觉得较为容易。


不过,上面链接对应的解决方案是web API的接口解决方式,很多小伙伴开发地图都是通过前端jsApi来完成的。有没有对应的文档嘞,当然是有啦,贴心的强哥已经为大家把测试代码打包好了,感兴趣的同学,公众号后台留言:“高德定位获取道路名” ,便可以获取到对应的js代码啦。


对了,千万要记得自己替换高德地图的key哦,强哥已经被类似没替换key导致无法运行的问题回复了无数遍了。


好啦,如果还有一些其他问题的小伙伴,也可以在后台给强哥留言哦,你的留言,也是我出稿的一份动力啊,哈哈!!


就到这啦~

相关文章
|
3月前
|
JavaScript 定位技术 API
uniapp腾讯地图路线规划
uniapp腾讯地图路线规划
422 0
|
12月前
|
移动开发 JavaScript 前端开发
uniapp在H5获取当前定位信息不需要SDK可直接获取城市(包括经纬度省市区和市区编码)
最近在做获取用户当前定位信息的时候,发现uniapp官方提供的兼容性并不是特别好,光注意事项都是密密麻麻一大堆,在实际使用场景下,效果并不理想,也不是很稳定。于是便重新封装了一下腾讯地图的一些东西,提高了下兼容度!下边我会把我用的封装思路逻辑给大家一一讲解。完整代码可私信我我发给你以上便是基于uni-app框架开发,使用Promise进行异步请求和结果返回,封装的H5获取当前详细定位信息组件希望大家一起交流。
1429 0
|
弹性计算 人工智能 自动驾驶
上海车展观察:城市导航辅助驾驶进入落地阶段
在智能驾驶技术领域,华为、毫末智行、百度、小鹏等第一梯队里的“技术派”,无不在上海车展期间密集释放了新消息。而在这些科技企业的技术竞赛背后,智能驾驶距离规模化落地还有多远?
|
机器学习/深度学习 城市大脑 人工智能
战略地图|阡陌交通,数字之用
六年的发展,阿里云从关注交通单一关键环节开始,到思考如何应对大交通治理方、运营方、服务方的现实挑战,围绕交通“规、建、管、养、运、服”进行体系化建设,利用平台化技术综合优化交通资源。这是阿里云交通部门自身发展和转型的历程,也是阿里云与交通行业一起极速奔向全局智能的历程。
447 0
战略地图|阡陌交通,数字之用
|
机器学习/深度学习 人工智能 UED
揭秘高德是如何为你规划和导航路线的
已经顺利落幕,我们准备了精彩的视频回放。这次放出的是由机器学习研发部崔恒斌(花名:千瞳)为大家带来的
527 0
揭秘高德是如何为你规划和导航路线的
|
人工智能 边缘计算 达摩院
阿里云AIoT停车服务引擎 获2020首届中国城市停车数据应用大赛第1名
近日,汇集了全域调度算法、AI动态调价、绿色停车等多个首创停车应用的阿里云AIoT停车服务引擎,拿下了2020首届中国城市停车数据应用大赛钻石奖第一名。
299 0
阿里云AIoT停车服务引擎 获2020首届中国城市停车数据应用大赛第1名
|
机器学习/深度学习 数据采集 人工智能
高德SD地图数据生产自动化技术的路线与实践(道路篇)
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 一、背景及现状 近些年,国内道路交通及相关设施的基础建设日新月异。广大用户日常出行需求旺盛,对所使用到的电子地图产品的数据质量和现势性提出了更高的要求。
高德SD地图数据生产自动化技术的路线与实践(道路篇)
|
算法 定位技术 机器学习/深度学习
高精地图中地面标识识别技术历程与实践
本文将主要介绍高德在高精地图地面标识识别上的技术演进,这些技术手段在不同时期服务了高精地图产线需求,为高德地图构建高精度地图提供了基础的技术保证。