
OpenAI ChatGPT API 與 React JS 的完美結(jié)合:全面指南
地理編碼是將物理地址轉(zhuǎn)換為地理坐標(biāo)的過(guò)程。您可以使用地理編碼在地圖上放置標(biāo)記并發(fā)現(xiàn)其他地理信息。
以下是地理編碼的示例:
1600 Amphitheatre Parkway, Mountain View, CA ->緯度:37.423021 & 經(jīng)度:-122.083739
在本教程中,您將學(xué)習(xí)如何使用使用地理編碼 RESTful API 的 Node.js 創(chuàng)建 Web 應(yīng)用程序。這是我們的最終演示:
大多數(shù)為衛(wèi)生、金融甚至軍事系統(tǒng)編寫的軟件都使用地理編碼功能。
如果您正在尋找將地理編碼解決方案實(shí)施或集成到系統(tǒng)中的最新方法,Positionstack 隨時(shí)為您服務(wù)。
positionstack API 是一個(gè)免費(fèi)的地理編碼 API,受到全球開發(fā)人員和企業(yè)的信賴。
positionstack 是市場(chǎng)上領(lǐng)先的地理編碼 RESTful API 之一。它通過(guò)一個(gè)強(qiáng)大而健壯的 API 提供企業(yè)級(jí)功能。
PositionTack 覆蓋全球 2+ 億個(gè)地址,每天處理 1+ 億次地理編碼 API 查找。它是適用于您的系統(tǒng)的可靠、有效的地理編碼服務(wù)。
由高度可擴(kuò)展的apilayer平臺(tái)支持的PositionStack API能夠處理數(shù)十億次地理編碼請(qǐng)求,響應(yīng)時(shí)間介于10到100毫秒之間。
正如我們之前提到的,positionstack API 為其某些功能提供了免費(fèi)計(jì)劃。您可以前往訂閱頁(yè)面并選擇免費(fèi)訂閱計(jì)劃以獲取您的 API 訪問(wèn)密鑰。
成功注冊(cè)后,您可以通過(guò)將訪問(wèn)密鑰添加到 URL 來(lái)使用核心 Positionstack API 端點(diǎn):
http://api.positionstack.com/v1/reverse
? access_key = YOUR_ACCESS_KEY
& query
=
40.7638435,-73.9729691
通過(guò)將此請(qǐng)求發(fā)送到終端節(jié)點(diǎn),您可以獲得如下 API 響應(yīng):
{
"data": [
{
"latitude": 38.897675,
"longitude": -77.036547,
"type": "address",
"name": "1600 Pennsylvania Avenue NW",
"number": "1600",
"postal_code": "20500",
"street": "Pennsylvania Avenue NW",
"confidence": 1,
"region": "District of Columbia",
"region_code": "DC",
"county": "District of Columbia",
"locality": "Washington",
"administrative_area": null,
"neighbourhood": "White House Grounds",
"country": "United States",
"country_code": "USA",
"continent": "North America",
"label": "1600 Pennsylvania Avenue NW, Washington, DC, USA"
},
{
"latitude": 38.897473,
"longitude": -77.036548,
"type": "address",
"name": "1600 Pennsylvania Avenue Northwest",
"number": "1600",
"postal_code": "20500",
"street": "Pennsylvania Avenue Northwest",
"confidence": 1,
"region": "District of Columbia",
"region_code": "DC",
"county": "District of Columbia",
"locality": "Washington",
"administrative_area": null,
"neighbourhood": "White House Grounds",
"country": "United States",
"country_code": "USA",
"continent": "North America",
"label": "1600 Pennsylvania Avenue Northwest, Washington, DC, USA"
}
]
}
批量請(qǐng)求是一種一次性向API發(fā)送多個(gè)正向或反向地理編碼查詢的方法。盡管批量請(qǐng)求看起來(lái)與常規(guī)地理編碼請(qǐng)求非常相似,但它們需要額外的參數(shù)。
發(fā)出批量請(qǐng)求很容易。首先,您需要指定 batch 請(qǐng)求參數(shù),該參數(shù)承載多個(gè)查詢。下面是一個(gè)示例:
{
"batch":[
{
"query": "Main Street",
"country": "US",
"region": "Minnesota"
},
{
"query": "Main Street",
"country": "US",
"region": "Illinois"
},
{
"query": "Main Street",
"country": "US",
"region": "Missouri"
}
]
}
如果您已經(jīng)向終端節(jié)點(diǎn)發(fā)出了請(qǐng)求,則可以看到每個(gè) API 響應(yīng)都攜帶一個(gè) map_url 對(duì)象。它包含一個(gè) URL,該 URL 指向與地理編碼結(jié)果關(guān)聯(lián)的可嵌入地圖。
您可以使用 iFrame 元素將其嵌入到 Web 或任何其他應(yīng)用程序中。
"map_url": "http://map.positionstack.com/47.735549,-94.548447"
此外,您還可以找到其他幾個(gè)功能:
在開始之前,您需要安裝 Node.js
之后,創(chuàng)建一個(gè)空文件夾并使用這些命令初始化一個(gè)新的 Node.js 項(xiàng)目。
const express = require("express")
const axios = require("axios")
const app = express()
const port = 1998
app.use(express.static('public'))
app.use('/css', express.static(__dirname + 'public/css'))
app.use('/img', express.static(__dirname + 'public/img'))
app.use('/js', express.static(__dirname + 'public/js'))
app.set('views', './src/views')
app.set('view engine', 'ejs')
app.get('/api/:version', function(req, res) {
res.send(req.params.version);
});
app.get("/geocoding", async function(req, res) {
try {
const API_ACC_KEY = "1ea2a2d4a6a80f98b92ea1129ad3a0b2";
const position = await axios.get(
http://api.positionstack.com/v1/forward?access_key=${API_ACC_KEY}&query=1600%20Pennsylvania%20Ave%20NW,%20Washington%20DC
);
res.render("positionstack", { info: position.data.data[0] });
} catch (error) {
if (error.response) {
console.log(error.response.data);
} else if (error.request) {
console.log(error.request);
} else {
console.log("Error", error.message);
}
}
});
app.get('/', (req, res) => res.send('Index Page'))
app.listen(port, () => console.log(Running on ${port} port
))
<div class="card-body">
<form>
<div class="row">
<div class="col">
<div class="mb-3"><label class="form-label" for="latitude"><strong>Latitude: <%- info.latitude %></strong></label></div>
<div class="mb-3"><label class="form-label" for="number"><strong>Number: <%- info.number %></strong></label></div>
</div>
<div class="col">
<div class="mb-3"><label class="form-label" for="longitude"><strong>Longitude: <%- info.longitude %></strong><br></label></div>
</div>
<div class="col">
<div class="mb-3"><label class="form-label" for="type"><strong>Type: <%- info.type %></strong><br></label></div>
</div>
</div>
<div class="row">
<div class="col">
<div class="mb-3"><label class="form-label" for="postal_code"><strong>Postal Code: <%- info.postal_code %></strong><br></label></div>
</div>
<div class="col">
<div class="mb-3"><label class="form-label" for="region"><strong>Region: <%- info.region %></strong><br></label></div>
</div>
</div>
<div class="row">
<div class="col">
<div class="mb-3"><label class="form-label" for="country"><strong>Country: <%- info.country %></strong><br></label></div>
</div>
<div class="col">
<div class="mb-3"><label class="form-label" for="region_code"><strong>Region Code: <%- info.region_code %></strong><br></label></div>
</div>
</div>
<div class="mb-3"></div>
</form>
</div>
現(xiàn)在,您可以使用以下命令啟動(dòng) Web 應(yīng)用程序:
地理編碼對(duì)許多企業(yè)和團(tuán)體非常有用。我們已經(jīng)看到了地理編碼如何幫助公平貸款、跟蹤健康問(wèn)題甚至作用于軍事數(shù)據(jù)。PositionStack 是數(shù)據(jù)地理編碼的絕佳工具。它覆蓋全球地址,每天可以處理大量請(qǐng)求。
借助 PositionStack,開發(fā)人員可以快速將地理編碼添加到他們的應(yīng)用程序中。它易于使用,并提供實(shí)時(shí)編碼和公平定價(jià)等功能。PositionStack 使地理編碼變得簡(jiǎn)單,無(wú)論您是需要基本的地址轉(zhuǎn)換還是更高級(jí)的基于位置的服務(wù)。對(duì)于想要在項(xiàng)目中使用位置數(shù)據(jù)的任何人來(lái)說(shuō),它都是首選。
它正在將地址轉(zhuǎn)換為地圖點(diǎn),例如將“1600 Amphitheatre Parkway, Mountain View, CA”更改為地圖上的一個(gè)點(diǎn)。
它的工作原理是使用特殊服務(wù)或軟件獲取地址并在地圖上找到其確切位置。
它有助于制作地圖、查找地點(diǎn)、交付物品和在系統(tǒng)中組織位置數(shù)據(jù)。
這可能很棘手,因?yàn)榈刂房赡懿煌?,地圖需要更新,并且大型工作可能需要大量資源。
原文來(lái)源:https://blog.apilayer.com/ultimate-geocoding-api-integration-with-node-js/
OpenAI ChatGPT API 與 React JS 的完美結(jié)合:全面指南
面向營(yíng)銷人員的 API:前 7 名免費(fèi) REST API
常用文檔轉(zhuǎn)換API匯總
2024年國(guó)內(nèi)熱門天氣環(huán)境API
使用第三方API擴(kuò)展低代碼/無(wú)代碼平臺(tái)的功能
AI 驅(qū)動(dòng)的 API 如何改變招聘:2024 年國(guó)內(nèi)外頂級(jí)招聘相關(guān)API
Ipstack 案例研究:Airbnb 如何使用地理位置 IP 地址來(lái)展示房源
網(wǎng)易企業(yè)郵箱API 終極指南:功能、定價(jià)和實(shí)施
OpenAI API定價(jià)及成本計(jì)算
對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力
一鍵對(duì)比試用API 限時(shí)免費(fèi)