百度&高德地图小区景点边界轮廓实现
经常的我们在使用地图功能时,会发现在选择一个小区或者一个热门景点的时候,地图上面会给出其边界轮廓,能够方便我们知道其范围大小,有时候在我们使用地图组件的时候,也会面临着类似的需求。比如在地图上面标识出一个商场范围内的热力图,一个热门景点的游览情况等。那么,我们该如何利用地图功能来实现这类效果呢,今天我们一起来探讨一下。
最近我们就有一个需求,需要标识出一些热门场所的人流的热力图情况,同时需要给出该热门场所的边界轮廓。经过查看百度地图和高德地图的开发者API文档,发现并没有这类公共接口提供我们使用。目前地图能够提供我们使用的,基本只能是一些行政区划的边界范围,这个在我之前的文章中也有写过,大家可以参照《仿链家地图找房的简单实现》。
那么现在面临的需求该如何实现呢?
通过查看地图功能的接口调用情况和在网上查询相关资料,最终我们找到了下面这个“不算是方法的方法”。
- 使用了地图的相关API接口获取相关数据
- API接口不是官方给出的,所以也就面临着稳定性的问题,可能随时被关(高德的只能简单参考,本身就存在较大缺陷,后面会说)
实现思路
-
通过地图的POI查询服务获取到兴趣点id
那么什么是POI呢?
检索服务提供某一特定地区的兴趣点位置查询服务(POI:Point of Interest,感兴趣点)
相关的官方文档请参照以下地址:
- 百度地图POI查询
- 高德地图POI查询
-
通过兴趣点id获取该兴趣点的详细信息
这里面需要用到的相关API就需要我们查看地图的执行过程,找到对应的API了。(也希望各个地图官方能够给出官方的方法吧)
PS:地图功能的使用情况在本篇不做说明,具体申请相关Key的过程请分别参照官网说明即可。
下面我们来分别给出百度地图和高德地图的实现方法:
百度地图实现
闲话休谈,咱们直接上码