根據騰訊地圖API,以圖文的方式一步一步的來說明如何獲取詳細的位置信息數據。具體參考騰訊地圖Webservice API的簡介。騰訊地圖WebService API
第一步:申請開發者密鑰(key)申請密鑰
我選擇的應用類型為瀏覽器類型(調用Javascript API、JSONP調用WebService API、靜態圖API等)。
填寫完成提交好既可以獲取屬於自己的Key。
第二步:Key獲取到了,下面就要通過ajax請求獲取位置信息了
首先跟大家說一下此接口都可以獲取那些信息,以及需要傳哪些參數。簡單來說就是輸入坐標返回地理位置信息和附近poi列表(POI是“Point of Interest”的縮寫,可以翻譯成“信息點”,每個POI包含四方面信息,名稱、類別、經度緯度、附近的酒店飯店商鋪等信息)。

1 { 2 "status": 0, 3 "message": "query ok", 4 "result": { 5 "location": { 6 "lat": 39.984154, 7 "lng": 116.30749 8 }, 9 "address": "北京市海淀區彩和坊路北四環西路66號", 10 "formatted_addresses": { 11 "recommend": "海淀區北四環西路66號中國技術交易大廈內", 12 "rough": "海淀區中關村" 13 }, 14 "address_component": { 15 "nation": "中國", 16 "province": "北京市", 17 "city": "北京市", 18 "district": "海淀區", 19 "street": "彩和坊路", 20 "street_number": "北四環西路66號" 21 }, 22 "ad_info": { 23 "adcode": "110108", 24 "name": "中國,北京市,北京市,海淀區", 25 "location": { 26 "lat": 39.984154, 27 "lng": 116.307487 28 }, 29 "nation": "中國", 30 "province": "北京市", 31 "city": "北京市", 32 "district": "海淀區" 33 }, 34 "address_reference": { 35 "crossroad": { 36 "title": "彩和坊路/北四環西路輔路(路口)", 37 "location": { 38 "lat": 39.985001, 39 "lng": 116.308113 40 }, 41 "_distance": 104.2, 42 "_dir_desc": "西南" 43 }, 44 "street": { 45 "title": "彩和坊路", 46 "location": { 47 "lat": 39.984154, 48 "lng": 116.308098 49 }, 50 "_distance": 49.1, 51 "_dir_desc": "西" 52 }, 53 "famous_area": { 54 "title": "中關村", 55 "location": { 56 "lat": 39.984119, 57 "lng": 116.307503 58 }, 59 "_distance": 0, 60 "_dir_desc": "內" 61 }, 62 "town": { 63 "title": "海淀街道", 64 "location": { 65 "lat": 39.984154, 66 "lng": 116.307487 67 }, 68 "_distance": 0, 69 "_dir_desc": "內" 70 }, 71 "street_number": { 72 "title": "北四環西路66號", 73 "location": { 74 "lat": 39.984119, 75 "lng": 116.307503 76 }, 77 "_distance": 0, 78 "_dir_desc": "" 79 }, 80 "landmark_l2": { 81 "title": "中國技術交易大廈", 82 "location": { 83 "lat": 39.984154, 84 "lng": 116.307487 85 }, 86 "_distance": 0, 87 "_dir_desc": "內" 88 } 89 }, 90 "poi_count": 10, 91 "pois": [ 92 { 93 "id": "3629720141162880123", 94 "title": "中國技術交易大廈", 95 "address": "北四環西路66號", 96 "category": "房產小區;商務樓宇", 97 "location": { 98 "lat": 39.984154, 99 "lng": 116.307487 100 }, 101 "ad_info": { 102 "adcode": "110108", 103 "province": "北京市", 104 "city": "北京市", 105 "district": "海淀區" 106 }, 107 "_distance": 0, 108 "_dir_desc": "內" 109 }, 110 { 111 "id": "12925244666643621769", 112 "title": "中國技術交易大廈B座", 113 "address": "北京市海淀區北四環西路66號", 114 "category": "房產小區;商務樓宇", 115 "location": { 116 "lat": 39.984112, 117 "lng": 116.307587 118 }, 119 "ad_info": { 120 "adcode": "110108", 121 "province": "北京市", 122 "city": "北京市", 123 "district": "海淀區" 124 }, 125 "_distance": 9.7, 126 "_dir_desc": "" 127 }, 128 { 129 "id": "2845372667492951071", 130 "title": "中國技術交易大廈A座", 131 "address": "北京市海淀區北四環西路66號中國技術交易大廈", 132 "category": "房產小區;商務樓宇", 133 "location": { 134 "lat": 39.984112, 135 "lng": 116.307587 136 }, 137 "ad_info": { 138 "adcode": "110108", 139 "province": "北京市", 140 "city": "北京市", 141 "district": "海淀區" 142 }, 143 "_distance": 9.7, 144 "_dir_desc": "" 145 }, 146 { 147 "id": "12017569646070509084", 148 "title": "中關村SOHOA區", 149 "address": "北京市海淀區海淀北二街8號中關村SOHO", 150 "category": "房產小區;商務樓宇", 151 "location": { 152 "lat": 39.983452, 153 "lng": 116.310143 154 }, 155 "ad_info": { 156 "adcode": "110108", 157 "province": "北京市", 158 "city": "北京市", 159 "district": "海淀區" 160 }, 161 "_distance": 239.6, 162 "_dir_desc": "西" 163 }, 164 { 165 "id": "206863847875503767", 166 "title": "中關村SOHOB區", 167 "address": "北京市海淀區海淀北二街8號", 168 "category": "房產小區;商務樓宇", 169 "location": { 170 "lat": 39.983452, 171 "lng": 116.310143 172 }, 173 "ad_info": { 174 "adcode": "110108", 175 "province": "北京市", 176 "city": "北京市", 177 "district": "海淀區" 178 }, 179 "_distance": 239.6, 180 "_dir_desc": "西" 181 }, 182 { 183 "id": "2586789338541507151", 184 "title": "大恆科技大廈南座", 185 "address": "北京市海淀區蘇州街3號", 186 "category": "房產小區;商務樓宇", 187 "location": { 188 "lat": 39.9827, 189 "lng": 116.305359 190 }, 191 "ad_info": { 192 "adcode": "110108", 193 "province": "北京市", 194 "city": "北京市", 195 "district": "海淀區" 196 }, 197 "_distance": 243.2, 198 "_dir_desc": "東北" 199 }, 200 { 201 "id": "10411172112248966185", 202 "title": "大恆科技大廈北座", 203 "address": "北京市海淀區蘇州街3號", 204 "category": "房產小區;商務樓宇", 205 "location": { 206 "lat": 39.982422, 207 "lng": 116.305313 208 }, 209 "ad_info": { 210 "adcode": "110108", 211 "province": "北京市", 212 "city": "北京市", 213 "district": "海淀區" 214 }, 215 "_distance": 267.5, 216 "_dir_desc": "東北" 217 }, 218 { 219 "id": "3467897955375836486", 220 "title": "西屋國際A座", 221 "address": "北京市海淀區蘇州街12號", 222 "category": "房產小區;住宅區;住宅小區", 223 "location": { 224 "lat": 39.98093, 225 "lng": 116.30658 226 }, 227 "ad_info": { 228 "adcode": "110108", 229 "province": "北京市", 230 "city": "北京市", 231 "district": "海淀區" 232 }, 233 "_distance": 367.1, 234 "_dir_desc": "東北" 235 }, 236 { 237 "id": "10159988224873792278", 238 "title": "西屋國際F座", 239 "address": "北京市海淀區蘇州街12號", 240 "category": "房產小區;住宅區;住宅小區", 241 "location": { 242 "lat": 39.980793, 243 "lng": 116.307381 244 }, 245 "ad_info": { 246 "adcode": "110108", 247 "province": "北京市", 248 "city": "北京市", 249 "district": "海淀區" 250 }, 251 "_distance": 374.2, 252 "_dir_desc": "東北" 253 }, 254 { 255 "id": "1833965334134367830", 256 "title": "西屋國際B座", 257 "address": "北京市海淀區蘇州街12號", 258 "category": "房產小區;住宅區;住宅小區", 259 "location": { 260 "lat": 39.980759, 261 "lng": 116.306427 262 }, 263 "ad_info": { 264 "adcode": "110108", 265 "province": "北京市", 266 "city": "北京市", 267 "district": "海淀區" 268 }, 269 "_distance": 388.6, 270 "_dir_desc": "東北" 271 } 272 ] 273 } 274 }
以上就是返回的參數信息,具體的參數介紹:http://lbs.qq.com/webservice_v1/guide-gcoder.html
下面呢,就寫一下如何發送ajxa請求,當然這個請求是jsonp的跨域請求。
1 var data={ 2 location:"39.984154,116.307490", 3 /*換成自己申請的key*/ 4 key:"OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77", 5 get_poi:0 6 } 7 var url="http://apis.map.qq.com/ws/geocoder/v1/?"; 8 data.output="jsonp"; 9 $.ajax({ 10 type:"get", 11 dataType:'jsonp', 12 data:data, 13 jsonp:"callback", 14 jsonpCallback:"QQmap", 15 url:url, 16 success:function(json){ 17 /*json對象轉為文本 var aToStr=JSON.stringify(a);*/ 18 var toStr = JSON.stringify(json); 19 toStr=getFormatJsonStrFromString(toStr); 20 /*調用業務處理程序*/ 21 suggestion_example&&suggestion_example($show,url_list,toStr); 22 }, 23 error : function(err){alert("服務端錯誤,請刷新瀏覽器后重試")} 24 25 }
這樣在跨域得到的數據就可以在ajax請求的【json】中獲取了。