概述
实现以下功能:根据当前定位,查找附近小区
实现步骤
高德,百度地图实现方式相同,步骤都是如下:
1.获取当前位置的经纬度
2.查询poitype编码。
(小区,写字楼,银行,酒店等等每个类别都有poitype,不同的地图,会提供各自的poitype编码)
3.使用逆地理位置编码功能
前提是:有高德、百度地图的key,可以申请
举例说明
以高德为例
第一步 获取地点经纬度
访问高德开发者平台:https://lbs.amap.com/
开发支持----->web服务api----->地理/逆地理编码
根据原理第一点,需要获取位置的经纬度,经纬度可以从app定位获取,高德地图也提供了传入位置名称,计算出经纬度。
以图片中的,宁波海曙区科创大厦 为例。
在高德的地理/逆地理编码页面,地理编码节点,输入如下内容:
返回结果里,会有经纬度:"location" :"121.536282,29.876221"
第二步:查询附近小区高德的poitype编码
在高德的地理/逆地理编码页面,逆地理编码节点,有高德的poitype表格下载
下载后,我们查询到,小区对应的编码是:
120300|120301|120302|120303|120304
第三步:使用逆地理位置编码功能
在高德的地理/逆地理编码页面,逆地理编码节点,输入
经纬度:121.536282,29.876221
poitype:120300|120301|120302|120303|120304
查询结果的"pois" 节点,显示了符合 poitype 的值:
"pois" :
[
"0" :
{
"id" :
"B023E05AVI",
"name" :
"汪弄社区",
"type" :
"商务住宅;住宅区;住宅小区",
"tel" :
[ ],
"direction" :
"北",
"distance" :
"256.035",
"location" :
"121.535476,29.878415",
"address" :
"西门街道",
"poiweight" :
"0.33056",
"businessarea" :
"马园"
},
"1" :
{
"id" :
"B023E06288",
"name" :
"假山新村",
"type" :
"商务住宅;住宅区;住宅小区",
"tel" :
[ ],
"direction" :
"西",
"distance" :
"298.207",
"location" :
"121.533285,29.875559",
"address" :
"苍松路",
"poiweight" :
"0.38178",
"businessarea" :
"马园"
},
"2" :
{
"id" :
"B023E058IK",
"name" :
"东方苑雅阁",
"type" :
"商务住宅;住宅区;住宅小区",
"tel" :
[ ],
"direction" :
"东北",
"distance" :
"309.783",
"location" :
"121.538321,29.878374",
"address" :
"柳庄巷6号",
"poiweight" :
"0.250829",
"businessarea" :
"马园"
},
...........