Search - Get Geocoding
使用 取得街地道址或地點名稱的經度和緯度座標。
Get Geocoding
API 是 HTTP GET
要求,會傳回所搜尋位置的經度和緯度座標。
在許多情況下,完整搜尋服務可能太多,例如,如果您只對傳統地理編碼感興趣。 您也可以存取搜尋,以獨佔方式查閱位址。 地理編碼是藉由點擊地理編碼端點,只叫用有問題的位址或部分位址來執行。 地理編碼搜尋索引將會查詢街道層級數據上方的所有專案。 不會傳回任何景點 (POI) 。 請注意,地理編碼器非常容許錯字和不完整的位址。 它也會處理來自確切街地道址或街道或交集以及較高層級地理位置的所有專案,例如城市中心、縣/市和州。 回應也會傳回詳細的位址屬性,例如街道、郵遞區號、街道和國家/地區資訊。
GET https://atlas.microsoft.com/geocode?api-version=2023-06-01
GET https://atlas.microsoft.com/geocode?api-version=2023-06-01&top={top}&query={query}&addressLine={addressLine}&countryRegion={countryRegion}&bbox={bbox}&view={view}&coordinates={coordinates}&adminDistrict={adminDistrict}&adminDistrict2={adminDistrict2}&adminDistrict3={adminDistrict3}&locality={locality}&postalCode={postalCode}
URI 參數
名稱 | 位於 | 必要 | 類型 | Description |
---|---|---|---|---|
api-version
|
query | True |
string |
Azure 地圖服務 API 的版本號碼。 |
address
|
query |
string |
相對於區域之位址的官方街線,如地區或 postalCode、 屬性所指定。 此元素的一般用法是提供街地道址或任何官方位址。 如果指定查詢,則不應該使用此參數。 |
|
admin
|
query |
string |
地址的國家/地區細分部分,例如 WA。 如果指定查詢,則不應該使用此參數。 |
|
admin
|
query |
string |
結構化位址的郡,例如 King。 如果指定查詢,則不應該使用此參數。 |
|
admin
|
query |
string |
結構化位址的具名區域。 如果指定查詢,則不應該使用此參數。 |
|
bbox
|
query |
number[] |
地球上定義為周框方塊物件的矩形區域。 矩形的側邊是由經度和緯度值所定義。 當您指定此參數時,計算位置查詢的結果時,會考慮地理區域。 範例:lon1,lat1,lon2,lat2 |
|
coordinates
|
query |
number[] |
指定為經度和緯度的地球點。 當您指定此參數時,會考慮使用者的位置,而且傳回的結果可能會與使用者更相關。 範例:&座標=lon,lat |
|
country
|
query |
string |
地理編碼結果的訊號,指向指定的 ISO 3166-1 Alpha-2 區域/國家/地區代碼 ,例如 FR./ 如果指定查詢,則不應該使用此參數。 |
|
locality
|
query |
string |
地址的區域部分,例如西雅圖。 如果指定查詢,則不應該使用此參數。 |
|
postal
|
query |
string |
地址的郵遞區區編碼部分。 如果指定查詢,則不應該使用此參數。 |
|
query
|
query |
string |
包含位置相關信息的字串,例如位址或地標名稱。 |
|
top
|
query |
integer int32 |
將傳回的回應數目上限。 默認值:5,最小值:1 和最大值:20。 |
|
view
|
query |
string |
字串,表示 ISO 3166-1 Alpha-2 區域/國家/地區代碼。 這會改變地緣政治爭議的框線和標籤,以配合指定的用戶區域。 根據預設,即使您尚未在要求中定義 View 參數,View 參數也會設定為 “Auto”。 如需詳細資訊,請參閱 支援的檢視 ,並查看可用的檢視。 |
要求標頭
名稱 | 必要 | 類型 | Description |
---|---|---|---|
Accept-Language |
string |
應該傳回搜尋結果的語言。 如需詳細資訊,請參閱 支援的語言 。 |
|
x-ms-client-id |
string |
指定哪個帳戶與 Azure AD 安全性模型搭配使用。 它代表 Azure 地圖服務帳戶的唯一標識碼,而且可以從 Azure 地圖服務管理平面帳戶 API 擷取。 若要在 Azure 地圖服務中使用 Azure AD 安全性,請參閱下列 文章 以取得指引。 |
回應
名稱 | 類型 | Description |
---|---|---|
200 OK |
確定 Media Types: "application/geo+json" 標題 x-ms-request-id: string |
|
Other Status Codes |
發生意外錯誤。 Media Types: "application/geo+json" |
安全性
AADToken
這些是 Microsoft Entra OAuth 2.0 流程。 與 Azure 角色型存取控制 配對時,可用來控制 Azure 地圖服務 REST API 的存取。 Azure 角色型訪問控制可用來指定一或多個 Azure 地圖服務資源帳戶或子資源的存取權。 任何使用者、群組或服務主體都可以透過內建角色或由一或多個 Azure 地圖服務 REST API 許可權所組成的自定義角色來授與存取權。
若要實作案例,建議您檢視 驗證概念。 總而言之,此安全性定義會透過能夠針對特定 API 和範圍進行訪問控制的物件,提供將應用程式模型化 () 的解決方案。
注意
- 此安全性定義 需要使用
x-ms-client-id
標頭來指出應用程式要求存取權的 Azure 地圖服務資源。 這可以從 地圖管理 API 取得。 -
Authorization URL
專屬於 Azure 公用雲端實例。 主權雲端具有唯一的授權 URL,Microsoft Entra ID 設定。 - 透過 Azure 入口網站、PowerShell、CLI、Azure SDK 或 REST API,從 Azure 管理平面設定 Azure 角色型存取控制。
- 使用 Azure 地圖服務 Web SDK 可針對多個使用案例,針對應用程式進行設定型設定。
- 如需Microsoft身分識別平臺的詳細資訊,請參閱 Microsoft身分識別平臺概觀。
類型:
oauth2
Flow:
implicit
授權 URL:
https://login.microsoftonline.com/common/oauth2/authorize
範圍
名稱 | Description |
---|---|
https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
這是透過 Azure 入口網站、PowerShell、CLI、Azure SDK 或 REST API 透過 Azure 管理平面建立 Azure 地圖服務資源 時所佈建的共用密鑰。
使用此金鑰時,任何應用程式都會獲得存取所有 REST API 的授權。 換句話說,這些目前可視為發行帳戶的主要密鑰。
對於公開的應用程式,我們建議使用 Azure 地圖服務 REST API 的伺服器對伺服器存取,以便安全地儲存此密鑰。
類型:
apiKey
位於:
header
SAS Token
這是透過 Azure 入口網站、PowerShell、CLI、Azure SDK 或 REST API,從 Azure 地圖服務資源 上的列出 SAS 作業建立的共用存取簽章令牌。
使用此令牌時,任何應用程式都有權使用 Azure 角色型訪問控制進行存取,並更精細地控制到期、速率和區域 (特定令牌的使用) 。 換句話說,SAS 令牌可用來允許應用程式以比共用密鑰更安全的方式來控制存取。
對於公開的應用程式,我們建議在 地圖帳戶資源 上設定允許的來源特定清單,以限制轉譯濫用,並定期更新 SAS 令牌。
類型:
apiKey
位於:
header
範例
Search detail address 15127 NE 24th Street, Redmond, WA
範例要求
GET https://atlas.microsoft.com/geocode?api-version=2023-06-01&addressLine=15127 NE 24th Street&adminDistrict=WA&locality=Redmond
範例回覆
Content-Type: application/geo+json
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"address": {
"countryRegion": {
"name": "United States"
},
"adminDistricts": [
{
"shortName": "WA"
},
{
"shortName": "King County"
}
],
"formattedAddress": "15127 NE 24th St, Redmond, WA 98052",
"locality": "Redmond",
"postalCode": "98052",
"addressLine": "15127 NE 24th St"
},
"type": "Address",
"confidence": "High",
"matchCodes": [
"Good"
],
"geocodePoints": [
{
"geometry": {
"type": "Point",
"coordinates": [
-122.138681,
47.630358
]
},
"calculationMethod": "Rooftop",
"usageTypes": [
"Display"
]
},
{
"geometry": {
"type": "Point",
"coordinates": [
-122.1386787,
47.6302179
]
},
"calculationMethod": "Rooftop",
"usageTypes": [
"Route"
]
}
]
},
"geometry": {
"type": "Point",
"coordinates": [
-122.138681,
47.630358
]
},
"bbox": [
-122.14632282407,
47.626495282429325,
-122.13103917593001,
47.63422071757068
]
}
]
}
Search detail address 15127 NE 24th Street, Redmond, WA by addressLine
範例要求
GET https://atlas.microsoft.com/geocode?api-version=2023-06-01&addressLine=15127 NE 24th Street Redmond WA&countryRegion=US
範例回覆
Content-Type: application/geo+json
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"address": {
"countryRegion": {
"name": "United States"
},
"adminDistricts": [
{
"shortName": "WA"
},
{
"shortName": "King County"
}
],
"formattedAddress": "15127 NE 24th St, Redmond, WA 98052",
"locality": "Redmond",
"postalCode": "98052",
"addressLine": "15127 NE 24th St"
},
"type": "Address",
"confidence": "Medium",
"matchCodes": [
"Good"
],
"geocodePoints": [
{
"geometry": {
"type": "Point",
"coordinates": [
-122.138681,
47.630358
]
},
"calculationMethod": "Rooftop",
"usageTypes": [
"Display"
]
},
{
"geometry": {
"type": "Point",
"coordinates": [
-122.1386787,
47.6302179
]
},
"calculationMethod": "Rooftop",
"usageTypes": [
"Route"
]
}
]
},
"geometry": {
"type": "Point",
"coordinates": [
-122.138681,
47.630358
]
},
"bbox": [
-122.14632282407,
47.626495282429325,
-122.13103917593001,
47.63422071757068
]
}
]
}
Search detail address 15127 NE 24th Street, Redmond, WA by query
範例要求
GET https://atlas.microsoft.com/geocode?api-version=2023-06-01&query=15127 NE 24th Street Redmond WA
範例回覆
Content-Type: application/geo+json
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"address": {
"countryRegion": {
"name": "United States"
},
"adminDistricts": [
{
"shortName": "WA"
},
{
"shortName": "King County"
}
],
"formattedAddress": "15127 NE 24th St, Redmond, WA 98052",
"locality": "Redmond",
"postalCode": "98052",
"addressLine": "15127 NE 24th St"
},
"type": "Address",
"confidence": "High",
"matchCodes": [
"Good"
],
"geocodePoints": [
{
"geometry": {
"type": "Point",
"coordinates": [
-122.138681,
47.630358
]
},
"calculationMethod": "Rooftop",
"usageTypes": [
"Display"
]
},
{
"geometry": {
"type": "Point",
"coordinates": [
-122.1386787,
47.6302179
]
},
"calculationMethod": "Rooftop",
"usageTypes": [
"Route"
]
}
]
},
"geometry": {
"type": "Point",
"coordinates": [
-122.138681,
47.630358
]
},
"bbox": [
-122.14632282407,
47.626495282429325,
-122.13103917593001,
47.63422071757068
]
}
]
}
Search landmark Empire State Building by query
範例要求
GET https://atlas.microsoft.com/geocode?api-version=2023-06-01&query=empire state building
範例回覆
Content-Type: application/geo+json
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"address": {
"countryRegion": {
"name": "United States"
},
"adminDistricts": [
{
"shortName": "NY"
}
],
"formattedAddress": "Empire State Building, NY",
"locality": "New York"
},
"type": "PointOfInterest",
"confidence": "High",
"matchCodes": [
"Ambiguous"
],
"geocodePoints": [
{
"geometry": {
"type": "Point",
"coordinates": [
-73.98580932617188,
40.748435974121094
]
},
"calculationMethod": "Rooftop",
"usageTypes": [
"Display"
]
}
]
},
"geometry": {
"type": "Point",
"coordinates": [
-73.98580932617188,
40.748435974121094
]
},
"bbox": [
-73.98590850830078,
40.74833679199219,
-73.98571014404297,
40.74853515625
]
},
{
"type": "Feature",
"properties": {
"address": {
"countryRegion": {
"name": "United States"
},
"adminDistricts": [
{
"shortName": "NY"
},
{
"shortName": "New York County"
}
],
"formattedAddress": "Empire State Building, NY",
"locality": "Manhattan"
},
"type": "LandmarkBuilding",
"confidence": "High",
"matchCodes": [
"Ambiguous"
],
"geocodePoints": [
{
"geometry": {
"type": "Point",
"coordinates": [
-73.98500061035156,
40.74815368652344
]
},
"calculationMethod": "Rooftop",
"usageTypes": [
"Display"
]
}
]
},
"geometry": {
"type": "Point",
"coordinates": [
-73.98500061035156,
40.74815368652344
]
},
"bbox": [
-73.98710632324219,
40.747314453125,
-73.98412322998047,
40.74958038330078
]
}
]
}
定義
名稱 | Description |
---|---|
Address |
結果的位址 |
Admin |
位址之國家或地區的細分名稱。 此元素通常被視為第一個訂單系統管理細分,但在某些情況下,它也會包含國家/地區、相依性或區域中的第二、第三或第四個順序細分。 |
Calculation |
用來計算地理編碼點的方法。 |
Confidence |
地理編碼位置結果符合的信賴等級。 使用此值搭配比對程序代碼,以判斷有關相符專案的完整資訊。 地理編碼位置的信賴度取決於許多因素,包括地理編碼位置的相對重要性和使用者的位置。如果指定的話。 |
Country |
|
Error |
資源管理錯誤其他資訊。 |
Error |
錯誤詳細數據。 |
Error |
錯誤回應 |
Feature |
FeatureCollection 對象的類型必須是FeatureCollection。 |
Features |
|
Feature |
功能的類型必須是Feature。 |
Geocode |
地理編碼點的集合,其計算方式與建議的使用方式不同。 |
Geocoding |
從成功的地理編碼呼叫傳回此物件 |
Geo |
有效的 |
Intersection |
結果的位址。 |
Match |
一或多個比對程式代碼值,代表回應中每個位置的地理編碼層級。 例如,具有相符代碼 同樣地,具有 相符代碼 可能的值包括:
|
Properties | |
Usage |
最適合用於地理編碼點。
每個地理編碼點都會定義為 |
Address
結果的位址
名稱 | 類型 | Description |
---|---|---|
addressLine |
string |
包含街地名和號碼的 AddressLine |
adminDistricts |
位址之國家或地區的細分名稱。 此元素通常被視為第一個訂單系統管理細分,但在某些情況下,它也會包含國家/地區、相依性或區域中的第二個、第三個或第四個順序細分。 |
|
countryRegion | ||
formattedAddress |
string |
格式化的 Address 屬性 |
intersection |
結果的位址。 |
|
locality |
string |
locality 屬性 |
neighborhood |
string |
芳鄰屬性 |
postalCode |
string |
郵遞區號屬性 |
AdminDistricts
位址之國家或地區的細分名稱。 此元素通常被視為第一個訂單系統管理細分,但在某些情況下,它也會包含國家/地區、相依性或區域中的第二、第三或第四個順序細分。
名稱 | 類型 | Description |
---|---|---|
name |
string |
對應 adminDistrict 字段的名稱,針對 adminDistrict[0],這可能是州名的完整名稱,例如華盛頓州,若為 adminDistrict[1],這可能是縣/市的完整名稱 |
shortName |
string |
對應 adminDistrict 字段的簡短名稱,若為 adminDistrict[0],這可能是州名的簡短名稱,例如 WA、針對 adminDistrict[1],這可能是縣/市的簡短名稱 |
CalculationMethodEnum
用來計算地理編碼點的方法。
名稱 | 類型 | Description |
---|---|---|
Interpolation |
string |
地理編碼點使用插補與道路上的點比對。 |
InterpolationOffset |
string |
地理編碼點與道路上的點比對,使用插補與額外的位移,將點移至街道的側邊。 |
Parcel |
string |
地理編碼點已比對至包裹的中心。 |
Rooftop |
string |
地理編碼點與建築物的尖峰相符。 |
ConfidenceEnum
地理編碼位置結果符合的信賴等級。 使用此值搭配比對程序代碼,以判斷有關相符專案的完整資訊。
地理編碼位置的信賴度取決於許多因素,包括地理編碼位置的相對重要性和使用者的位置。如果指定的話。
名稱 | 類型 | Description |
---|---|---|
High |
string |
如果信賴度設定 如果要求包含位置或檢視,則排名可能會適當變更。 例如,“Paris” 的位置查詢會傳回 “Paris, France” 和 “Paris, TX” 兩者都有信心 |
Low |
string |
|
Medium |
string |
在某些情況下,傳回的相符專案可能不是與要求中提供的資訊相同的層級。 例如,要求可以指定地址資訊,而地理編碼服務可能只能符合郵遞郵遞區號。 在此情況下,如果地理編碼服務確信郵遞區編碼符合數據,則信賴度會設定 如果查詢中的位置資訊模棱兩可,而且沒有其他資訊可排名位置 (,例如使用者位置或位置) 的相對重要性,則信賴度會設定為 如果查詢中的位置資訊未提供足夠的資訊來地理編碼特定位置,可能會傳回較不精確的位置值,並將信賴度設定為 |
CountryRegion
名稱 | 類型 | Description |
---|---|---|
ISO |
string |
國家/地區的 ISO |
name |
string |
國家/地區的名稱 |
ErrorAdditionalInfo
資源管理錯誤其他資訊。
名稱 | 類型 | Description |
---|---|---|
info |
object |
其他資訊。 |
type |
string |
其他信息類型。 |
ErrorDetail
錯誤詳細數據。
名稱 | 類型 | Description |
---|---|---|
additionalInfo |
錯誤其他資訊。 |
|
code |
string |
錯誤碼。 |
details |
錯誤詳細資料。 |
|
message |
string |
錯誤訊息。 |
target |
string |
錯誤目標。 |
ErrorResponse
錯誤回應
名稱 | 類型 | Description |
---|---|---|
error |
error 物件。 |
FeatureCollectionEnum
FeatureCollection 對象的類型必須是FeatureCollection。
名稱 | 類型 | Description |
---|---|---|
FeatureCollection |
string |
FeaturesItem
名稱 | 類型 | Description |
---|---|---|
bbox |
number[] |
周框方塊。 使用的投影 - EPSG:3857。 如需詳細資訊 ,請參閱 RFC 7946 。 |
geometry |
有效的 |
|
id |
string |
傳回之功能的標識碼 |
properties | ||
type |
功能的類型必須是Feature。 |
FeatureTypeEnum
功能的類型必須是Feature。
名稱 | 類型 | Description |
---|---|---|
Feature |
string |
GeocodePoints
地理編碼點的集合,其計算方式與建議的使用方式不同。
名稱 | 類型 | Description |
---|---|---|
calculationMethod |
用來計算地理編碼點的方法。 |
|
geometry |
有效的 |
|
usageTypes |
最適合用於地理編碼點。
每個地理編碼點都會定義為 |
GeocodingResponse
從成功的地理編碼呼叫傳回此物件
名稱 | 類型 | Description |
---|---|---|
features | ||
nextLink |
string |
是傳回之功能下一頁的連結。 如果是最後一頁,則沒有此欄位。 |
type |
FeatureCollection 對象的類型必須是FeatureCollection。 |
GeoJsonPoint
有效的 GeoJSON Point
幾何類型。 如需詳細資訊 ,請參閱 RFC 7946 。
名稱 | 類型 | Description |
---|---|---|
bbox |
number[] |
周框方塊。 使用的投影 - EPSG:3857。 如需詳細資訊 ,請參閱 RFC 7946 。 |
coordinates |
number[] |
|
type |
string:
Point |
指定 |
Intersection
結果的位址。
名稱 | 類型 | Description |
---|---|---|
baseStreet |
string |
位置的主要街道。 |
displayName |
string |
交集的完整名稱。 |
intersectionType |
string |
交集的類型。 |
secondaryStreet1 |
string |
第一個交集街道。 |
secondaryStreet2 |
string |
如果有的話,第二個交集街道。 |
MatchCodesEnum
一或多個比對程式代碼值,代表回應中每個位置的地理編碼層級。
例如,具有相符代碼 Good
的地理編碼位置, Ambiguous
表示找到一個以上的地理位置來尋找位置資訊,而且地理編碼服務沒有搜尋上層來尋找相符專案。
同樣地,具有 相符代碼Ambiguous
UpHierarchy
的地理編碼位置,表示找不到符合所有提供的位置資訊,因此地理編碼服務必須搜尋階層,並在該層級找到多個相符專案。 和 Ambiguous
UpHierarchy
結果的範例是當您提供完整的地址資訊,但地理編碼服務找不到街道位址的相符專案,而是傳回多個 RoadBlock 值的資訊。
可能的值包括:
Good
:位置只有一個相符專案,或所有傳回的相符專案都視為強式相符專案。 例如,紐約的查詢會傳回數個 Good 相符專案。
Ambiguous
:位置是一組可能的相符專案之一。 例如,當您查詢街道位址 128 主要 St.時,回應可能會傳回 128 北主要 St 和 128 南主要 St 的兩個位置,因為沒有足夠的資訊可判斷要選擇的選項。
UpHierarchy
:位置代表向上移動地理階層。 當找不到位置要求的相符專案時,就會發生這種情況,因此會傳回較不精確的結果。 例如,如果找不到所要求位址的相符專案,則可能會傳回與 RoadBlock 實體類型的 相符代碼 UpHierarchy
。
名稱 | 類型 | Description |
---|---|---|
Ambiguous |
string |
|
Good |
string |
|
UpHierarchy |
string |
Properties
名稱 | 類型 | Description |
---|---|---|
address |
結果的位址 |
|
confidence |
地理編碼位置結果符合的信賴等級。 使用此值搭配比對程序代碼,以判斷有關相符專案的完整資訊。 地理編碼位置的信賴度取決於許多因素,包括地理編碼位置的相對重要性和使用者的位置。如果指定的話。 |
|
geocodePoints |
地理編碼點的集合,其計算方式和建議的使用方式不同。 |
|
matchCodes |
一或多個比對程式代碼值,代表回應中每個位置的地理編碼層級。 例如,具有相符代碼 同樣地,具有 相符代碼 可能的值包括:
|
|
type |
string |
值為下列其中之一:
|
UsageTypeEnum
最適合用於地理編碼點。
每個地理編碼點都會定義為 Route
點、點 Display
或兩者。
如果您要建立位置的路線,請使用 Route
點。 如果您要在地圖上顯示位置,請使用 Display
點。 例如,如果位置是一個駐留,點 Route
可能會指定您可以用汽車輸入的駐留入口,而 Display
某個點可能是指定駐留中心的點。
名稱 | 類型 | Description |
---|---|---|
Display |
string |
|
Route |
string |