Поделиться через


Миграция Bing Карты поиск расположения по API адресов

В этой статье объясняется, как перенести КАРТЫ Bing найти расположение по API адресов в API Карты Получения геокодирования Azure. API получения геокодирования Azure Карты используется для получения координат долготы и широты уличного адреса места или ориентира. API получения геокодирования Azure Карты поддерживает геокодирование входных данных в неструктурированном или структурированном формате. В этой статье рассматриваются сценарии, в которых входные данные геокодирования, такие как адрес улицы, находятся в структурированном формате, аналогично тому, что Bing Карты Найти расположение по API адресов. Сведения о переносе Bing Карты сценариях, где входные данные геокодирования не структурированы для получения координат долготы и широты адреса, места или ориентира, см. в статье "Миграция Bing Карты Поиск расположения по API запросов".

Необходимые компоненты

Заметные различия

  • Bing Карты Поиск расположения по API адресов поддерживает только входные данные геокодирования в структурированном формате, в то время как AZURE Карты Get Geocoding API поддерживает геокодирование входных данных в неструктурированном (query=) или структурированном (addressLine=) формате. Для геокодирования имен ориентиров используйте Azure Карты Получить API геокодирования с помощью неструктурированного формата ввода.
  • Bing Карты Поиск расположения по API адресов возвращает координаты в формате широты и долготы, а API получения геокодирования Azure Карты возвращает координаты в формате долготы и широты, как определено в формате GeoJSON.
  • Bing Карты Поиск расположения по API адресов поддерживает формат ответа XML и JSON. API получения геокодирования Azure Карты поддерживает GeoJSON.
  • В отличие от Bing Карты Поиск расположения по API адресов, API получения геокодирования Azure Карты имеет view входной параметр, представляющий код региона или страны ISO 3166-1 Alpha-2. Входной view параметр изменяет геополитические спорные границы и метки, чтобы соответствовать указанному региону пользователя. Дополнительные сведения см. в разделе "Параметры URI".
  • В отличие от Bing Карты Найти расположение по API адресов, Azure Карты Get Geocoding API в настоящее время не поддерживает геокодирование для Китая, Японии или Южной Кореи.
  • В отличие от Bing Карты для предприятия, Azure Карты — это глобальная служба, которая поддерживает указание географического область, что позволяет ограничить место расположения данных европейским (ЕС) или географическими областями (США) или США (США). Все запросы (включая входные данные) обрабатываются исключительно в указанной географической области. Дополнительные сведения см. в географических область.

Безопасность и проверка подлинности

Bing Карты для Enterprise поддерживает проверку подлинности только ключа API. Azure Карты поддерживает несколько способов проверки подлинности вызовов API, таких как ключ подписки, идентификатор Microsoft Entra и токен SAS. Дополнительные сведения о безопасности и проверке подлинности в Azure Карты см. в разделе "Проверка подлинности с помощью Azure Карты" и разделе "Безопасность" в документации по azure Карты Get Geocoding.

Параметры запроса

В следующей таблице перечислены параметры запроса адреса Карты Bing и эквивалентный Карты Azure:

Параметр запроса Bing Карты Псевдоним параметра запроса Bing Карты Параметр запроса Карты Azure Требуется в Azure Карты Тип данных Azure Карты Description
Параметр запроса Bing Карты Псевдоним параметра запроса Bing Карты Параметр запроса Карты Azure Требуется в Azure Карты Тип данных Azure Карты Примечание
addressLine addressLine Ложных Строка В Azure Карты получить API геокодирования, адрес улицы или адрес улицы с локальностью и adminDistrictподдерживает входные данныеaddressLine
adminDistrict adminDistrict Ложных Строка
countryRegion countryRegion Ложных Строка
Местности Местности Ложных Строка
Postalcode Postalcode Ложных Строка
Культуры C Заголовок запроса: Accept-Language Ложных Строка Как указано в заголовке запроса Карты Azure, определяет язык, culture используемый в результатах поиска при использовании API получения геокодирования Azure Карты. Дополнительные сведения см. в статье Поддерживаемые языки.
Включают Включая Не требуется Не требуется Не требуется В Bing Карты Поиск расположения по API адресов входной параметр "include" требуется для получения двухбуквенный код страны ISO для результата ответа (include=ciso2). В Azure Карты ПОЛУЧИТЬ API геокодирования двухбуквенный код страны ISO возвращается по умолчанию. 
includeNeighborhood inclnb Не требуется Не требуется Не требуется В Azure Карты Get Geocoding API, сведения о районе возвращаются в ответе по умолчанию, если они доступны. 
maxResults maxRes Вверх Ложных Целое число (int32) В Azure Карты API получения геокодирования возвращаемое по умолчанию число ответов равно 5. Минимальное значение равно 1, а максимальное — 20. 
strictMatch Sm Не поддерживается Не поддерживается Не поддерживается
userIp uip Не поддерживается Не поддерживается Не поддерживается
userLocation Ул Координаты Ложных number[] В Azure Карты ПОЛУЧИТЬ API геокодирования координаты на земле, указанные в формате долготы и широты (долготы, широты). При указании этого параметра считается расположение пользователя и возвращаемые результаты более релевантны для пользователя.
userMapView umv bbox Ложных number[] Прямоугольная область на земле, определенная как ограничивающий прямоугольник. Стороны прямоугольников определяются значениями долготы и широты (longitude1,latitude1,longitude2,latitude2). Используйте следующий синтаксис, чтобы указать ограничивающий прямоугольник:

Западная долгота, южная широта, восточная долгота, северная широта

При указании этого параметра географическая область учитывается при вычислении результатов запроса расположения.
userRegion Ваш Вид Ложных Строка Строка, представляющая код региона или страны ISO 3166-1 Alpha-2, который изменяет геополитические спорные границы и метки для соответствия указанному региону пользователя. По умолчанию параметр View имеет значение Auto , даже если он не определен в запросе. Дополнительные сведения о доступных представлениях см. в разделе "Поддерживаемые представления".

Дополнительные сведения о параметрах запроса API геокодирования Azure Карты см. в разделе "Параметры URI".

Примеры запросов

Bing Карты Найти расположение по запросу POST API адреса:

http://dev.virtualearth.net/REST/v1/Locations/US/WA/Redmond/15127 NE 24th Street?&key={BingMapsKey}        

Запрос POST API геокодирования Azure Карты:

https://atlas.microsoft.com/geocode?api-version=2023-06-01&adminDistrict=WA&locality=Redmond&addressLine=15127 NE 24th Street&subscription-key={Your-Azure-Maps-Subscription-key}

Поля ответа

В следующей таблице перечислены поля, которые могут отображаться в ответе HTTP при запуске Карты поиска расположения по адресу и эквивалентного azure Карты:

Поле Карты Bing Поле Карты Azure Description
адрес: addressLine (JSON)

Адрес: AddressLine (XML)
адрес: addressLine
адрес: adminDistrict (JSON)

Адрес: Администратор District (XML)
адрес: adminDistricts
адрес: adminDistrict2 (JSON)

Адрес: Администратор District2 (XML)
адрес: adminDistricts
адрес: countryRegion (JSON)

Адрес: CountryRegion (XML)
адрес: countryRegion
адрес: countryRegionIso2 (JSON)

Адрес: CountryRegionIso2 (XML)
адрес: countryRegion — iso
адрес: район (JSON)

Адрес: район (XML)
адрес: район
адрес: formattedAddress (JSON)

Адрес: FormattedAddress (XML)
адрес: formattedAddress
адрес: локализация (JSON)

Адрес: локализация (XML)
адрес: локальность
адрес: почтовый код (JSON)

Адрес: Почтовый индекс (XML)
адрес: почтовый индекс
адрес: пересечение — baseStreet (JSON)

Адрес: пересечение — BaseStreet (XML)
адрес: пересечение -baseStreet
адрес: пересечение — secondaryStreet1 (JSON)

адрес: пересечение — secondaryStreet1
адрес: пересечение — secondaryStreet2 (JSON)

Адрес: пересечение — SecondaryStreet2 (XML)
адрес: пересечение — secondaryStreet2
адрес: пересечение — пересечениеType (JSON)

Адрес: пересечение — Пересечение Типа (XML)
адрес: пересечение — пересечениеType
адрес: пересечение — displayName (JSON)

Адрес: пересечение — DisplayName (XML)
адрес: пересечение — displayName
bbox (JSON)

BoundingBox (XML)
функции: bbox В Bing Карты Найти расположение по API адресов координаты в ответе находятся в формате широты или долготы. Координаты в ответе Карты API получения геокодирования Azure находятся в формате долготы и широты (так как используется формат GeoJSON).  
calculationMethod (JSON)

CalculationMethod (XML)
properties: geocodePoints — calculationMethod
достоверность (JSON)

Достоверность (XML)
свойства: достоверность
entityType (JSON)

EntityType (XML)
свойства: тип
geocodePoints (JSON)

GeocodePoint (XML)
properties: geocodePoints — координаты
matchCodes (JSON)

MatchCode (XML)
properties: matchCodes
name (JSON)

Имя (XML)
Не поддерживается formattedAddress— это эквивалент Azure Карты.
point (JSON)

Point (XML)
функции: координаты В Bing Карты Найти расположение по API адресов координаты в ответе находятся в формате широты или долготы. Координаты в ответе Карты API получения геокодирования Azure находятся в формате долготы и широты (так как используется формат GeoJSON).  
queryParse (JSON)

QueryParse (XML)
Не поддерживается
usageTypes (JSON)

usageType (XML)
properties: geocodePoints: usageTypes

Дополнительные сведения о полях ответов API геокодирования Azure Карты см. в разделе "Определения".

Примеры ответов

В следующем примере JSON показано, что возвращается в тексте HTTP-ответа при выполнении запроса Bing Карты Поиск расположения по адресу:

{ 
    "authenticationResultCode": "ValidCredentials", 
    "brandLogoUri": "https://dev.virtualearth.net/Branding/logo_powered_by.png", 
    "copyright": "Copyright © 2024 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.", 
    "resourceSets": [ 
        { 
            "estimatedTotal": 1, 
            "resources": [ 
                { 
                    "__type": "Location:http://schemas.microsoft.com/search/local/ws/rest/v1", 
                    "bbox": [ 
                        47.62649628242932, 
                        -122.14631082421619, 
                        47.634221717570675, 
                        -122.1310271757838 
                    ], 
                    "name": "15127 NE 24th St, Redmond, WA 98052", 
                    "point": { 
                        "type": "Point", 
                        "coordinates": [ 
                            47.630359, 
                            -122.138669 
                        ] 
                    }, 
                    "address": { 
                        "addressLine": "15127 NE 24th St", 
                        "adminDistrict": "WA", 
                        "adminDistrict2": "King County", 
                        "countryRegion": "United States", 
                        "formattedAddress": "15127 NE 24th St, Redmond, WA 98052", 
                        "locality": "Redmond", 
                        "postalCode": "98052" 
                    }, 
                    "confidence": "High", 
                    "entityType": "Address", 
                    "geocodePoints": [ 
                        { 
                            "type": "Point", 
                            "coordinates": [ 
                                47.630359, 
                                -122.138669 
                            ], 
                            "calculationMethod": "Rooftop", 
                            "usageTypes": [ 
                                "Display" 
                            ] 
                        }, 
                        { 
                            "type": "Point", 
                            "coordinates": [ 
                                47.630563, 
                                -122.1387383 
                            ], 
                            "calculationMethod": "Rooftop", 
                            "usageTypes": [ 
                                "Route" 
                            ] 
                        } 
                    ], 
                    "matchCodes": [ 
                        "Good" 
                    ] 
                } 
            ] 
        } 
    ], 
    "statusCode": 200, 
    "statusDescription": "OK", 
    "traceId": "e0a7cb31a835ffbcc7e2b8f6b1a0b4e0|MWH0032BE3|0.0.0.1|Ref A: 9BC4F0B708B04F2EA6D52CB3461458A6 Ref B: CO1EDGE1411 Ref C: 2024-04-23T23:44:47Z"

В следующем примере JSON показано, что возвращается в тексте HTTP-ответа при выполнении запроса На получение геокодирования Azure Карты:

{
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "geometry": {
                "type": "Point",
                "coordinates": [
                    -122.138679,
                    47.630356
                ]
            },
            "bbox": [
                -122.14632082377759,
                47.62649328242932,
                -122.1310371762224,
                47.634218717570675
            ],
            "properties": {
                "type": "Address",
                "confidence": "High",
                "matchCodes": [
                    "Good"
                ],
                "geocodePoints": [
                    {
                        "calculationMethod": "Rooftop",
                        "usageTypes": [
                            "Display"
                        ],
                        "geometry": {
                            "type": "Point",
                            "coordinates": [
                                -122.138679,
                                47.630356
                            ]
                        }
                    },
                    {
                        "calculationMethod": "Rooftop",
                        "usageTypes": [
                            "Route"
                        ],
                        "geometry": {
                            "type": "Point",
                            "coordinates": [
                                -122.138685,
                                47.6305637
                            ]
                        }
                    }
                ],
                "address": {
                    "addressLine": "15127 NE 24th St",
                    "postalCode": "98052",
                    "locality": "Redmond",
                    "formattedAddress": "15127 NE 24th St, Redmond, WA 98052",
                    "countryRegion": {
                        "name": "United States",
                        "ISO": "US"
                    },
                    "adminDistricts": [
                        {
                            "shortName": "WA"
                        },
                        {
                            "shortName": "King County"
                        }
                    ]
                }
            }
        }
    ]
}

Использование транзакций

Как и Bing Карты Найти расположение по API адресов, Azure Карты Получить api геокодирования регистрирует одну оплачиваемую транзакцию для каждого запроса. Дополнительные сведения о транзакциях azure Карты см. в статье "Общие сведения о транзакциях Карты Azure".

Дополнительная информация:

  • Получение пакета геокодирования. Используйте для отправки пакета запросов в API получения геокодирования в одном синхронном запросе.

Поддержка