㈠ javascript調用百度地圖怎麼獲取所有省會城市的地標信息
在中國地圖上手動搜索出城市坐標
創建若干Label,然後將地標的名稱和經緯度傳入,再調用回map的addOverlay放到地圖上答
網路地址沒有直接的api可以實現你的要求
即使是向地圖發起搜索「省會」2個字也不行
㈡ 百度地圖api如何根據城市名或經緯度獲取當前城市東西經南北緯范圍 js
Geocoding API包括地址解析和逆地址解析功能。
地址解析是指,由詳細到街道的結構化地址得到網路經緯度信息,且支持名勝古跡、標志性建築名稱直接解析返回網路經緯度。例如:「北京市海淀區中關村南大街27號」地址解析的結果是「lng:116.31985,lat:39.959836」,「網路大廈」地址解析的結果是「lng:116.30815,lat:40.056885」
逆地址解析是指,由網路經緯度信息得到結構化地址信息。例如:「lat:31.325152,lng:120.558957」逆地址解析的結果是「江蘇省蘇州市虎丘區塔園路318號」。注意:
1.因為Geocoding和反Geocoding使用的門址數據以及演算法都不是一樣的,所以會出現不能一一對應的現象。
2.解析過程中可能會出現一對坐標值對應多個地址門牌信息,本介面將返回距離坐標點最近的一個地址門牌信息。
使用限制
目前無任何使用限制。請申請key,然後使用該介面。
如何使用
第一步,申請key,點擊這里獲取密鑰,申請key需要注冊網路賬號;
第二步,拼寫發送http請求的url,注意需使用第一步申請的key;
第三步,接收http請求返回的數據(支持json和xml格式)。
服務地址
地址解析:根據地址獲取坐標
http://api.map..com/geocoder?address=地址&output=輸出格式類型&key=用戶密鑰&city=城市名
逆地址解析:根據坐標獲取地址
http://api.map..com/geocoder?location=緯度,經度&output=輸出格式類型&key=用戶密鑰
備註:
1. city屬於可選參數,通常情況可以不使用,若解析無結果,請嘗試增加此欄位。
2. 支持名勝古跡、標志性建築物名稱解析返回網路經緯度坐標,如address=「網路大廈」。
3. 支持使用「*路與*路交叉口」方式解析返回網路經緯度坐標,若地址庫中存在該地址描述,返回網路經緯度坐標。
4. 若解析status欄位為OK,若結果內容為空,原因分析及可嘗試方法:
地址庫里無此數據,本次結果為空。
加入city欄位重新解析;
將過於詳細或簡單的地址更改至省市區縣街道重新解析;
5. 特別提醒:逆地址解析location參數傳入的參數格式是(緯度lat,經度lng)。
介面參數
參數 是否必須 默認值 格式舉例 含義
output 否 json json或xml 輸出格式為json或者xml
address 是 無 北京市海淀區上地十街10號 根據指定地址進行坐標的反定向解析
location 是 無 38.76623,116.43213
lat<緯度>,lng<經度> 根據指定坐標來進行地址的解析
city 否 「北京市」 「廣州市」 地址所在的城市名
key 是 無 用戶申請注冊的key
上表中address和location兩個欄位如果同時出現,則優先選擇address執行地理編碼功能。對於address欄位可能會出現中文或其它一些特殊字元(如:空格),所以對於類似的字元都要進行編碼處理,編碼成 UTF-8 字元的二字元十六進制值,凡是不在下表中的字元都要進行編碼。
字元集合 字元
URL非保留字 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 – _ . ~
URL保留字 ! * 『 ( ) ; : @ & = + $ , / ? % # [ ]
附註:
(1) javascript中一般採用encodeURIComponent函數對特殊字元進行編碼。
(2) Java中可以使用函數URLEncoder.encode對特殊字元進行編碼。
(3) C#中可以使用函數HttpUtility.UrlEncode對特殊字元進行編碼。
(4) php中可以使用函數urlencode對特殊字元進行編碼。
返回數據說明
返回結果(地址解析的結果)
{status: '字元串狀態常量', 取值如下:
//OK 成功
INVILID_KEY 非法密鑰
INVALID_PARAMETERS 非法參數,參數錯誤時候給出。
result: {
location: {
lat: 緯度:數值,
lng: 經度:數值
},
precise:』位置的附加信息,是否精確查找』(1為精確查找,0為不精確查找),
confidence: 可信度,
level:'級別'
},
}
返回結果(反地址解析的結果)
{status: '字元串狀態常量', 取值如下:
//OK 成功
INVILID_KEY 非法密鑰
INVALID_PARAMETERS 非法參數,參數錯誤時候給出。
result: {
location: {
lat: 緯度:數值,
lng: 經度:數值
},
formatted_address: 『詳細地址描述』,
business: '周圍商圈',
addressComponent:{
city:』城市名稱』,
district: 『區縣名稱』,
province:』省份名稱』,
street: 『街道名稱』,
streetNumber: '門牌號碼'
},
cityCode: '城市代碼'
}
}
介面示例
根據詳細地址獲取坐標
http://api.map..com/geocoder?address=%E4%B8%8A%E5%9C%B0%E5%8D%81%E8%A1%9710%E5%8F%B7&output=json&key=
//根據「上地十街10號」返回坐標「lng:116.307175, lat:40.057098」,以json格式輸出
http://api.map..com/geocoder?address=%E4%B8%8A%E5%9C%B0%E5%8D%81%E8%A1%9710%E5%8F%B7&output=xml&key=
//根據「上地十街十號」返回坐標「lng:116.307175, lat:40.057098」,以xml格式輸出
在指定城市內檢索詳細地址的坐標
http://api.map..com/geocoder?address=%E4%B8%8A%E5%9C%B0%E5%8D%81%E8%A1%9710%E5%8F%B7&output=json&key=&city=%E5%8C%97%E4%BA%AC%E5%B8%82
// 在北京市內根據「上地十街10號」返回坐標「lng:116.307175, lat:40.057098」,以json格式輸出
http://api.map..com/geocoder?address=%E4%B8%8A%E5%9C%B0%E5%8D%81%E8%A1%9710%E5%8F%B7&output=xml&key=&city=%E5%8C%97%E4%BA%AC%E5%B8%82
// 在北京市內根據「上地十街10號」返回坐標「lng:116.307175, lat:40.057098」,以json格式輸出
根據特定建築物獲取它的坐標
http://api.map..com/geocoder?address=%E7%99%BE%E5%BA%A6%E5%A4%A7%E5%8E%A6&output=json&key= //根據「網路大廈」名稱返回坐標「lng:116.307175, lat:40.057098」,以json格式輸入
http://api.map..com/geocoder?address=%E7%99%BE%E5%BA%A6%E5%A4%A7%E5%8E%A6&output=xml&key= //根據「網路大廈」名稱返回坐標「lng:116.307175, lat:40.057098」,以xml格式輸入
根據「*路與*路交叉路口」類型地址描述獲得它的坐標
http://api.map..com/geocoder?address=%E5%8C%97%E4%B8%80%E7%8E%AF%E8%B7%AF%E5%92%8C%E9%98%9C%E9%98%B3%E8%B7%AF%E7%9A%84%E4%BA%A4%E5%8F%89%E8%B7%AF%E5%8F%A3&output=json&key=
//根據「北一環路和阜陽路的交叉路口」名稱返回坐標「lng:117.294364, lat:31.885558」,以json格式輸入
http://api.map..com/geocoder?address=%E5%8C%97%E4%B8%80%E7%8E%AF%E8%B7%AF%E5%92%8C%E9%98%9C%E9%98%B3%E8%B7%AF%E7%9A%84%E4%BA%A4%E5%8F%89%E8%B7%AF%E5%8F%A3&output=xml&key=
//根據「北一環路和阜陽路的交叉路口」名稱返回坐標「lng:117.294364, lat:31.885558」,以xml格式輸入
根據坐標獲取它的地址
http://api.map..com/geocoder?output=json&location=39.983424,%20116.322987&key=
//解析「lat:39.983424, lng:116.322987」坐標返回「北京市海淀區中關村大街27號1101-08室」,以json格式輸出
http://api.map..com/geocoder?output=xml&location=39.983424,%20116.322987&key=
//解析「lat:39.983424, lng:116.322987」坐標返回「北京市海淀區中關村大街27號1101-08室」,以xml格式輸出
網路地址http://developer..com/map/geocoding-api.htm
㈢ 用php代碼根據經緯度,如何獲得城市名
調用第三方寬枯介面。
㈣ 怎樣根據GPS獲得的經緯度來獲取城市名
根據設備GPS信息來獲取當前位置,如果沒有GPS設備的話,則通過IP向ISP獲取,不過那樣的位置信息獲取會慢而且不精確。
獲取到了經緯度信息X,Y後,可以通過匹配資料庫中的值來進行定位,你需要將城市經緯度信息保存到資料庫中去,所以比較麻煩一些。當然也可以通過調用第三方地圖API來獲取城市,這樣效率雖然不高,但是很方便