概述
實現以下功能:根據當前定位,查找附近小區
?
實現步驟
高德,百度地圖實現方式相同,步驟都是如下:
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" :
"馬園"
},
...........
?
?