Поиск по карте Azue: уникальный идентификатор и нормализованное имя - PullRequest
0 голосов
/ 30 января 2019

Я использую карты Azure для автозаполнения городов на моем сайте.Я использую этот метод API: https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress

Запрос: https://atlas.microsoft.com/search/address/json?params и параметры:

  • query=mosco - Я ищу Москву
  • typehand=true
  • api-version=1.0
  • subscription-key=...my key...

Результат

{
    ...
    results: [
        {
            type: "Geography",
            id: "RU/GEO/p0/116970,
            ...
            address: {
                municipality: "Moscow",
                countryCode: "RU",
                freeformAddress: "Moscow"
            }
        },
        ...
    ],
}

Хорошо, это Москва.Но у меня есть несколько вопросов.

  1. Что такое id?Док сказал, что это "идентификатор объекта".Это настойчиво?Москва всегда будет "116970"?

  2. Как мне нормализовать название города?Я могу написать "Москва" (Москва по-русски), и она работает, и id совпадает, но имена в объекте address различны (Москва, Moscow).Если я напишу "mos", то id - это то же самое, но address - это "Москва" (вместо Москвы).

Могу ли я получить name геообъекта по id

Ответы [ 2 ]

0 голосов
/ 30 января 2019
  1. Это уникальный идентификатор, но он не обязательно будет постоянным.Основное назначение этого идентификатора - для целей отладки.
  2. Мы знаем о проблеме "en" и обновляем документы.
0 голосов
/ 30 января 2019
  1. Я уверен, что это уникальный идентификатор, но требуется подтверждение из документации:)

  2. Проблема решена параметром language=en-GB Теперь результат всегда равен "Москва",Я был введен в заблуждение руководством, когда указано только en (это приводит к ошибке).https://docs.microsoft.com/en-us/azure/azure-maps/supported-languages

...