
常用文檔轉換API匯總
positionstack 是一種 API 服務,它提供了簡單可靠的正向和反向地理編碼解決方案。該服務覆蓋全球超過 20 億個地點和地址。
Positionstack API 的功能包括批量地理編碼、多語言支持以及可嵌入地圖 URL 等。您可以選擇 JSON、XML 或特定于地理編碼的 GeoJSON 格式來獲取地理位置 API 的結果。API 的平均響應時間在 10 毫秒到 100 毫秒之間,具體取決于您的請求大小。
positionstack 已成為許多企業的 Go to Geolocation API。以下是 Positionstack 用戶每天請求 1+ 億次地理編碼 API 查找的原因:
apilayer是一家奧地利技術公司,構建了各種可靠的編程接口(API),它構建并維護了positionstack API。apilayer為開發人員和初創公司提供價格合理的尖端API。
簡而言之,positionstack是市場上最先進、最輕量級、最經濟實惠、最易于使用的地理編碼解決方案。本文詳細介紹了它的各種API端點、可用選項以及Node.js和其他平臺(Postman和RAD Studio REST插件)的教程。
首先獲取您的API憑據,并設置您的訂閱計劃:
您可以通過此儀表板監控您的使用情況。
接下來,要檢查是否一切正常,只需在您最喜歡的Web瀏覽器中運行此URL:
http://api.positionstack.com/v1/forward?access_key=YOUR_ACCESS_KEY&query=1600%20Pennsylvania%20Ave%20NW,%20Washington%20DC
您應該在瀏覽器中看到此API響應:
如果您的API請求失敗,API將返回一個錯誤對象。它包含子對象代碼和指示所發生錯誤類型的消息。
以下是最常見的API錯誤:
代碼 | 類型 | 描述 |
401 | 無效訪問鍵 | 提供了無效的API訪問密鑰。 |
401 | 丟失存取鍵 | 未提供API訪問密鑰。 |
401 | 非活動用戶 | 給定的用戶帳戶處于非活動狀態。 |
403 | https_access_restricted | 當前訂閱計劃不支持HTTPS訪問。 |
403 | 函數訪問受限 | 當前訂閱計劃不支持給定的API終結點。 |
404 | 無效的_API_函數 | 給定的API終結點不存在。 |
404 | 404_not_found | 頁面沒有找到 |
429 | 已達到使用限制 | 給定的用戶帳戶已達到其每月允許的請求量。 |
429 | 達到速率極限 | 給定的用戶帳戶已達到速率限制。 |
500 | 內部錯誤 | 發生內部錯誤。 |
正向地理編碼是將自由文本地址或地點轉換為位置數據的過程。要發出正向地理編碼請求,請使用API的正向端點并使用查詢參數指定查詢。
以下是HTTP GET請求參數:
對象 | 描述 |
訪問密鑰 | [必需]您的API訪問密鑰,可在您的帳戶儀表板中找到。 |
查詢 | [必需]將您的查詢指定為自由文本地址、地名或使用任何其他常見的基于文本的位置標識符(例如郵政編碼、城市名稱、地區名稱)。 |
國家 | [可選]通過一個或多個逗號分隔的2字母(例如Au)或3字母國家代碼(例如AUS)過濾地理編碼結果。示例:country=Au,CA,按澳大利亞和加拿大篩選。下載:支持的國家(CSV) |
區域 | [可選]通過指定區域過濾地理編碼結果。這可以是一個街區、地區、市、縣、州或行政區域。例如:region=柏林,按柏林的位置進行過濾。 |
語言 | [可選]通過指定首選語言的2個字母(例如en)或3個字母代碼(例如eng)來翻譯特定的API響應對象。(默認:英文) |
國家模塊 | [可選]設置為1以使國家/地區模塊能夠在您的API響應中包括更廣泛的國家/地區數據。在國家模塊部分閱讀更多相關信息。 |
太陽模塊 | [可選]設置為1,使Sun模塊能夠在您的API響應中包括占星數據。在Sun模塊部分中閱讀有關此的更多信息。 |
時區模塊 | [可選]設置為1以使時區模塊能夠在API響應中包括時區數據。在時區模塊部分閱讀更多關于此的信息。 |
bbox模塊 | [可選]設置為1以使邊界框模塊能夠在API響應中包括邊界坐標。在邊界框模塊部分中了解更多信息。 |
限制 | [可選]指定1到80之間的限制,以限制每個地理編碼查詢返回的結果數。批處理請求可以包含多個地理編碼查詢。(默認值:10個結果) |
領域 | [可選]指定一個或多個響應字段以減小API響應大小。了解如何在指定響應字段部分中使用此選項。 |
輸出 | [可選]指定首選的API輸出格式。可用值:JSON(默認)、XML和GeoJSON。 |
回調 | [可選]使用此參數指定要將API響應包裝在其中的JSONP回調函數名稱。了解有關JSONP回調的更多信息。 |
每個API響應由18個不同的響應對象組成:
響應對象 | 描述 |
數據 | 返回兩個大的數據數組:請求和結果,下面將詳細解釋。 |
結果 | 返回此API請求的位置結果數組。子數組的數量直接取決于指定的限制值。下面列出了所有子陣列和子對象。 |
結果>緯度 | 返回與定位結果關聯的緯度坐標。 |
結果>經度 | 返回與定位結果關聯的經度坐標。 |
結果>標簽 | 返回格式化的地名或地址。 |
結果>名稱 | 返回定位結果的名稱。這可能是一個地名、地址、郵政編碼等等。 |
結果>類型 | 返回定位結果的類型。以下是所有可用的位置類型列表:地點,地址,街道,鄰里,自治市,localadmin,地方,縣,宏觀國家,地區,宏觀地區,國家,粗略,郵政編碼。 |
結果>數量 | 返回與定位結果關聯的街道或門牌號。 |
結果>街道 | 返回與定位結果關聯的街道名稱。 |
搜索結果>郵政編碼 | 返回與位置結果關聯的郵政編碼或郵政編碼。 |
結果>信心 | 返回與位置結果關聯的介于0(0%置信度)和1(100%置信度)之間的置信度分數。 |
結果>區域 | 返回與定位結果關聯的區域的名稱。 |
結果>區域代碼 | 返回與定位結果關聯的區域代碼。 |
結果>行政區域 | 返回與定位結果關聯的行政區域的名稱。 |
結果>鄰域 | 返回與定位結果關聯的鄰域的名稱。 |
結果>國家 | 返回與定位結果關聯的國家/地區的通用名稱。 |
結果>國家代碼 | 返回與位置結果關聯的國家/地區的ISO 3166 Alpha 2(兩個字母)代碼。 |
結果> map_url | 返回與定位結果關聯的可嵌入映射。 |
反向地理編碼是將坐標(緯度/經度)或IP地址轉換為位置數據的過程。要發出反向地理編碼請求,請使用API的反向端點,并使用查詢參數指定查詢。
以下是HTTP GET請求參數:
對象 | 描述 |
訪問密鑰 | [必需]您的API訪問密鑰,可在您的帳戶儀表板中找到。 |
查詢 | [必需]以緯度、經度格式將您的查詢指定為坐標(例如,查詢=40.7638435,-73.9729691)或使用IP地址進行自動坐標檢測(例如,查詢=72.229.28.185)。 |
國家 | [可選]通過一個或多個逗號分隔的2字母(例如Au)或3字母國家代碼(例如AUS)過濾地理編碼結果。示例:country=Au,CA,按澳大利亞和加拿大篩選。下載:支持的國家(CSV) |
區域 | [可選]通過指定區域過濾地理編碼結果。這可以是一個街區、地區、市、縣、州或行政區域。例如:region=柏林,按柏林的位置進行過濾。 |
語言 | [可選]通過指定首選語言的2個字母(例如en)或3個字母代碼(例如eng)來翻譯特定的API響應對象。(默認:英文) |
國家模塊 | [可選]設置為1以使國家/地區模塊能夠在您的API響應中包括更廣泛的國家/地區數據。在國家模塊部分閱讀更多相關信息。 |
太陽模塊 | [可選]設置為1,使Sun模塊能夠在您的API響應中包括占星數據。在Sun模塊部分中閱讀有關此的更多信息。 |
時區模塊 | [可選]設置為1以使時區模塊能夠在API響應中包括時區數據。在時區模塊部分閱讀更多關于此的信息。 |
bbox模塊 | [可選]設置為1以使邊界框模塊能夠在API響應中包括邊界坐標。在邊界框模塊部分中了解更多信息。 |
限制 | [可選]指定1到80之間的限制,以限制每個地理編碼查詢返回的結果數。批處理請求可以包含多個地理編碼查詢。(默認值:10個結果) |
領域 | [可選]指定一個或多個響應字段以減小API響應大小。了解如何在指定響應字段部分中使用此選項。 |
輸出 | [可選]指定首選的API輸出格式。可用值:JSON(默認)、XML和GeoJSON。 |
回調 | [可選]使用此參數指定要將API響應包裝在其中的JSONP回調函數名稱。了解有關JSONP回調的更多信息。 |
每個API響應由20個不同的響應對象組成:
響應對象 | 描述 |
數據 | 返回兩個大的數據數組:請求和結果,下面將詳細解釋。 |
結果 | 返回此API請求的位置結果數組。子數組的數量直接取決于指定的限制值。下面列出了所有子陣列和子對象。 |
結果>緯度 | 返回與定位結果關聯的緯度坐標。 |
結果>經度 | 返回與定位結果關聯的經度坐標。 |
結果>標簽 | 返回格式化的地名或地址。 |
結果>名稱 | 返回定位結果的名稱。這可能是一個地名、地址、郵政編碼等等。 |
結果>類型 | 返回定位結果的類型。以下是所有可用的位置類型列表:地點,地址,街道,鄰里,自治市,localadmin,地方,縣,宏觀國家,地區,宏觀地區,國家,粗略,郵政編碼。 |
結果>距離 | 返回定位結果與查詢參數中指定的坐標之間的距離(以米為單位)。僅適用于反向地理編碼。 |
結果>數量 | 返回與定位結果關聯的街道或門牌號。 |
結果>街道 | 返回與定位結果關聯的街道名稱。 |
搜索結果>郵政編碼 | 返回與位置結果關聯的郵政編碼或郵政編碼。 |
結果>信心 | 返回與位置結果關聯的介于0(0%置信度)和1(100%置信度)之間的置信度分數。 |
結果>區域 | 返回與定位結果關聯的區域的名稱。 |
結果>區域代碼 | 返回與定位結果關聯的區域代碼。 |
結果>行政區域 | 返回與定位結果關聯的行政區域的名稱。 |
結果>鄰域 | 返回與定位結果關聯的鄰域的名稱。 |
結果>國家 | 返回與定位結果關聯的國家/地區的通用名稱。 |
結果>國家代碼 | 返回與位置結果關聯的國家/地區的ISO 3166 Alpha 2(兩個字母)代碼。 |
結果> map_url | 返回與定位結果關聯的可嵌入映射。 |
positionstack API與所有主流編程語言兼容。
使用以下代碼通過Node.js發出正向地理編碼API請求:
const axios = require('axios');
const params = {
access_key: 'YOUR_ACCESS_KEY',
query: '1600 Pennsylvania Ave NW, Washington DC'
}
axios.get('http://api.positionstack.com/v1/forward', {params})
.then(response => {
console.log(response.data);
}).catch(error => {
console.log(error);
});
以下是Node.js IDE內的API響應(在此示例中使用Atom):
使用以下代碼通過Node.js發出反向地理編碼API請求,請記住,您需要輸入緯度和經度來進行查詢搜索:
const axios = require('axios');
const params = {
access_key: 'YOUR_ACCESS_KEY',
query: '38.897675, -77.036547'
}
axios.get('http://api.positionstack.com/v1/reverse', {params})
.then(response => {
console.log(response.data);
}).catch(error => {
console.log(error);
});
以下是Node.js IDE內的API響應(在此,我在此示例中使用Atom):
首先,下載 Delphi REST Debugger。
選擇GET方法,并將請求發送到以下URL(反向地理編碼的示例):
http://api.positionstack.com/v1/reverse?access_key=YOUR_ACCESS_KEY&query=40.7638435,-73.9729691
在獲得所需的API響應后,如果您想用Delphi來創建一個基于它的桌面應用程序,請參考本文:https://blogs.embarcadero.com/using-apilayer-rest-apis-from-delphi/
如果這是您第一次使用Postman,您可以在我們的博客文章中閱讀有關安裝指南:https://blog.apilayer.com/easily-spider-websites-using-node-js-and-powerful-rest-apis/
選擇GET方法,并將請求發送到以下URL:
http://api.positionstack.com/v1/reverse?access_key=YOUR_ACCESS_KEY&query=40.7638435,-73.9729691
如您所見,PositionStack REST API 提供了一系列精確的地理編碼服務。無論是正向還是反向批量地理編碼,都可以將這些API端點連接到您使用的任何平臺和編程語言中。
在本文中,我們將向您展示如何使用 PositionStack REST API 進行基本的正向和反向地理編碼操作。
利用 PositionStack 的免費層吧!如果您需要更強大的功能(例如 HTTPS 加密、擴展速率限制、JSON、XML、GeoJSON、嵌入式地圖等),我們強烈建議您升級訂閱計劃。如果這還不夠,請聯系我們以獲得定制解決方案。我們迫不及待地想看看您使用我們的REST API構建的內容!
地理編碼是將地址轉換為地圖點。例如,它將“1600 Amphitheatre百老匯,山景,CA”更改為顯示其在地圖上位置的坐標(如緯度37.423021和經度-122.083739)。
地理編碼是一種利用特殊服務(例如谷歌地圖)在地圖上精確定位一個地址的技術。它通過查詢數據庫、運用算法和分析地圖數據來實現這一過程。
反向地理編碼則相反。它將坐標轉換成人們可以理解的地址。例如,它會將緯度和經度更改為“1600 Amphitheatre百老匯,山景,CA”。
地理編碼有助于地圖應用程序(如谷歌地圖),查找附近的地方(如餐館),以及使用地圖分析和顯示信息的系統。
有時地理編碼可能會出現錯誤,特別是在那些人口稀少的地區。此外,如果地址信息過時或者有誤也可能會引發其它問題。由于地理編碼常常需要共享位置數據,所以還涉及到隱私方面的考量。
冪簡集成是國內領先的API集成管理平臺,專注于為開發者提供全面、高效、易用的API集成解決方案。冪簡API平臺可以通過以下兩種方式找到所需API:通過關鍵詞搜索API、或者從API Hub分類頁進入尋找。
立即免費注冊,開始將精確且豐富的正向和反向地理定位數據集成到您的應用程序中!
原文鏈接:https://blog.apilayer.com/how-to-get-started-with-powerful-a-geo-api-service-using-nodejs/