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


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

В этой статье объясняется, как перенести Карты поиск расположения по API запросов в API запросов Azure Карты получить геокодирование. API получения геокодирования Azure Карты используется для получения координат долготы и широты адреса, места или ориентира. API получения геокодирования Azure Карты поддерживает геокодирование входных данных в неструктурированном или структурированном формате. Эта документация по миграции используется для сценариев, когда входные данные геокодирования, такие как адрес улицы, регион, почтовый индекс или имя ориентира, находятся в неструктурированном формате (query=) — аналогично тому, что поддерживает API запросов Bing Карты Поиск расположения по API запросов. Сведения о переносе Bing Карты сценариях, где геокодирование входных данных структурировано для поиска расположения по адресу, см. в разделе "Миграция Bing Карты Поиск расположения по адресу".

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

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

  • 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
Культура c Заголовок запроса: Accept-Language False строка Как указано в заголовке запроса Карты Azure, определяет язык, culture используемый в результатах поиска при использовании API получения геокодирования Azure Карты. Дополнительные сведения см. в статье Поддерживаемые языки.
include Включая Не требуется Не требуется Не требуется. В Bing Карты Поиск расположения по API include запросов входной параметр требуется для получения двухбуквенный код страны ISO для расположения в ответе (include=ciso2) и указать, что ответ показывает, как строка запроса была проанализирована в значения адресов (include=queryParse). В Azure Карты GET Geocoding API двухбуквенный код страны ISO возвращается по умолчанию и не поддерживает эквивалент queryParse.
includeNeighborhood inclnb Не требуется Не требуется Не требуется. В Azure Карты Get Geocoding API, сведения о районе возвращаются в ответе по умолчанию, если они доступны. 
maxResults maxRes Вверх False Целое число (int32) В Azure Карты API получения геокодирования возвращаемое по умолчанию число ответов равно 5. Минимальное значение равно 1, а максимальное — 20. 
query к Запроса Истина строка
userIp uip Не поддерживается Не поддерживается Не поддерживается
userLocation ul Координаты False number[] В Azure Карты ПОЛУЧИТЬ API геокодирования координаты на земле, указанные в формате долготы и широты (долготы, широты). При указании этого параметра учитывается расположение пользователя, а возвращаемые результаты более релевантны для пользователя.  
userMapView umv bbox False number[] Прямоугольная область на земле, определенная как ограничивающий прямоугольник. Стороны прямоугольников определяются значениями долготы и широты (долгота1,широта1,долгота2,широта2,широта2). Используйте следующий синтаксис, чтобы указать ограничивающий прямоугольник:

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

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

Дополнительные сведения о доступных представлениях см. в разделе "Поддерживаемые представления".

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

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

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

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

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

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

Поля ответа

В следующей таблице перечислены поля, которые могут отображаться в ответе HTTP при запуске Bing Карты Поиск расположения по запросу и эквиваленту 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": "7896468b37528ac145ef77cc62484fd6|MWH0032BE2|0.0.0.1|Ref A: 7D01B283F7644D2891600E265FB30B24 Ref B: CO1EDGE2318 Ref C: 2024-04-23T18:29:55Z" 

В следующем примере 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 получения геокодирования в одном синхронном запросе.

Поддержка