java百度地图逆地址解析_Web服务Geocoding API-百度地图
公告:親愛的用戶,您好,自2014年9月1日起,我們將廢棄Geocoding API V1.0,屆時Geocoding API V1.0將無法正常使用。為不影響您的使用,請在截止日期之間將產品遷移至Geocoding API V2.0,給你您來不便之處,敬請原諒。
什么是Geocoding?
Geocoding API是一個供程序員調用的、http形式的地圖服務接口。主要服務那些非網(wǎng)頁程序的調用。例如C# 、C++、Java等開發(fā)語言都能發(fā)送http請求且能接收返回數(shù)據(jù)。
用戶只需在請求的url字串中拼接好關鍵字或者經緯度信息,即可獲取到相應的百度經緯度或者結構化地理信息。
Geocoding API有哪些功能?
Geocoding API包括地址解析和逆地址解析功能。
地址解析是指,由詳細到街道的結構化地址得到百度經緯度信息,且支持名勝古跡、標志性建筑名稱直接解析返回百度經緯度。例如:“北京市海淀區(qū)中關村南大街27號”地址解析的結果是“l(fā)ng:116.31985,lat:39.959836”,“百度大廈”地址解析的結果是“l(fā)ng:116.30815,lat:40.056885”
逆地址解析是指,由百度經緯度信息得到結構化地址信息。例如:“l(fā)at:31.325152,lng:120.558957”逆地址解析的結果是“江蘇省蘇州市虎丘區(qū)塔園路318號”。
注意:
1.因為Geocoding和反Geocoding使用的門址數(shù)據(jù)以及算法都不是一樣的,所以會出現(xiàn)不能一一對應的現(xiàn)象。
2.解析過程中可能會出現(xiàn)一對坐標值對應多個地址門牌信息,本接口將返回距離坐標點最近的一個地址門牌信息。
使用限制
目前無任何使用限制。請申請key,然后使用該接口。
如何使用
第一步,申請key,點擊這里獲取密鑰,申請key需要注冊百度賬號;
第二步,拼寫發(fā)送http請求的url,注意需使用第一步申請的key;
第三步,接收http請求返回的數(shù)據(jù)(支持json和xml格式)。
服務地址
備注:
1. city屬于可選參數(shù),通常情況可以不使用,若解析無結果,請嘗試增加此字段。
2. 支持名勝古跡、標志性建筑物名稱解析返回百度經緯度坐標,如address=“百度大廈”。
3. 支持使用“*路與*路交叉口”方式解析返回百度經緯度坐標,若地址庫中存在該地址描述,返回百度經緯度坐標。
4. 若解析status字段為OK,若結果內容為空,原因分析及可嘗試方法:
地址庫里無此數(shù)據(jù),本次結果為空。
加入city字段重新解析;
將過于詳細或簡單的地址更改至省市區(qū)縣街道重新解析;
5. 特別提醒:逆地址解析location參數(shù)傳入的參數(shù)格式是(緯度lat,經度lng)。
接口參數(shù)
參數(shù)是否必須默認值格式舉例含義
output否jsonjson或xml輸出格式為json或者xml
address是無北京市海淀區(qū)上地十街10號根據(jù)指定地址進行坐標的反定向解析
location是無38.76623,116.43213
lat,lng根據(jù)指定坐標來進行地址的解析
city否“北京市”“廣州市”地址所在的城市名
key是無8cb976834235d8cbcde2dce4835ae191用戶申請注冊的key
上表中address和location兩個字段如果同時出現(xiàn),則優(yōu)先選擇address執(zhí)行地理編碼功能。對于address字段可能會出現(xiàn)中文或其它一些特殊字符(如:空格),所以對于類似的字符都要進行編碼處理,編碼成 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函數(shù)對特殊字符進行編碼。
(2) Java中可以使用函數(shù)URLEncoder.encode對特殊字符進行編碼。
(3) C#中可以使用函數(shù)HttpUtility.UrlEncode對特殊字符進行編碼。
(4) php中可以使用函數(shù)urlencode對特殊字符進行編碼。
返回數(shù)據(jù)說明
返回結果(地址解析的結果)
{status: '字符串狀態(tài)常量', 取值如下:
//OK 成功
INVILID_KEY 非法密鑰
INVALID_PARAMETERS 非法參數(shù),參數(shù)錯誤時候給出。
result: {
location: {
lat: 緯度:數(shù)值,
lng: 經度:數(shù)值
},
precise:’位置的附加信息,是否精確查找’(1為精確查找,0為不精確查找),
confidence: 可信度,
level:'級別'
},
}
返回結果(反地址解析的結果)
{status: '字符串狀態(tài)常量', 取值如下:
//OK 成功
INVILID_KEY 非法密鑰
INVALID_PARAMETERS 非法參數(shù),參數(shù)錯誤時候給出。
result: {
location: {
lat: 緯度:數(shù)值,
lng: 經度:數(shù)值
},
formatted_address: ‘詳細地址描述’,
business: '周圍商圈',
addressComponent:{
city:’城市名稱’,
district: ‘區(qū)縣名稱’,
province:’省份名稱’,
street: ‘街道名稱’,
streetNumber: '門牌號碼'
},
cityCode: '城市代碼'
}
}
接口示例
根據(jù)詳細地址獲取坐標
在指定城市內檢索詳細地址的坐標
根據(jù)特定建筑物獲取它的坐標
根據(jù)“*路與*路交叉路口”類型地址描述獲得它的坐標
根據(jù)坐標獲取它的地址
總結
以上是生活随笔為你收集整理的java百度地图逆地址解析_Web服务Geocoding API-百度地图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 05 DIY流星观测站——相机简介
- 下一篇: tmm-jellyfin转移演员照片(解