языковая поддержка карт Azure - PullRequest
0 голосов
/ 10 сентября 2018

Когда я делаю запрос API для одного адреса со шведскими буквами, я получаю правильный ответ, но если тот же адрес является частью пакетного запроса, все специальные символы заменяются на юникод, и я не получаю никакого удара. Я пробовал URL Кодировать запросы в пакете, но это не имеет значения. Это работает:

/search/address/json?query=Långsjövägen, 13554 Tyresö&api-version=1.0&subscription-key=123

Но пост, подобный этому, не:

{ "queries":
  [
    "?query=Långsjövägen, 13554 Tyresö",
  ]
}

Я могу получить пакетный отклик, и все работает отлично, за исключением того, что юникод портит поиск. Как сделать пакетный запрос со специальными символами?

Кто-нибудь знает?

Ответы [ 2 ]

0 голосов
/ 05 марта 2019

Вы должны закодировать свои запросы, чтобы убедиться, что у специальных символов нет проблем.Вот различные методы для разных языков:

  • JavaScript: encodeURIComponent (запрос)
  • C # / VB: Uri.EscapeDataString (запрос)
  • Java:URLEncoder.encode (запрос, "UTF-8")
  • Python:

    import urllib.parse

    urllib.parse.quote (query)

Затем добавьте значение закодированного запроса в ваш URL.

0 голосов
/ 11 сентября 2018

Вот обходной путь.

Попытка:

{ "queries":
  [
    "?query=Langsjovagen, 13554 Tyreso",
  ]
}

Я только что попробовал, и он дал правильные результаты. Итак, просто используйте «а» вместо «å» и так далее.

Это, вероятно, разблокирует вас до тех пор, пока оно не будет зафиксировано на их стороне.

...