Как найти координаты почтового индекса с помощью API tomtom - PullRequest
0 голосов
/ 18 ноября 2018

Вот что я пытаюсь сделать:

  • Учитывая почтовый индекс Великобритании в качестве начальной и конечной точки, например, SN41AB - WF112AB, найдите координаты широты и долготы. Это сделано для того, чтобы я мог отобразить маршрут между точками и показать его на карте.

Я вижу, что предоставляется класс FuzzySearchQueryBuilder, который я использую следующим образом:

FuzzySearchQuery query = FuzzySearchQueryBuilder.create("query")
            .withLanguage(Locale.getDefault().toLanguageTag())
            .withCountry("UK")
            .withExtendedPostalCodes("SN41AB, WF112AB")
            .build();

Однако поиск возвращает ошибку, сообщающую о невозможности успешно проанализировать значение почтового индекса.

Глядя на различные примеры, я не вижу ни одного, использующего поиск по почтовому индексу.

Я также рассмотрел Javadocs здесь , в котором говорится об использовании этих значений индекса "PAD, POI, Str, XStr". Но где вписывается почтовый индекс?

Возможно ли то, что я пытаюсь сделать? Похоже, что так и должно быть, поскольку API специально работает с почтовыми индексами. Поэтому я предполагаю, что это просто вопрос использования правильного формата параметров. Кто-нибудь может привести пример использования API таким способом?

1 Ответ

0 голосов
/ 18 ноября 2018

Документация для withExtendedPostalCodes предполагает, что этот метод предназначен для использования совершенно иначе, чем ваш образец:

Индексы, для которых расширенные почтовые индексы должны быть включены в результаты,Доступны следующие индексы: Addr, Geo, PAD, POI, Str, XStr.Значение должно быть разделенным запятыми списком типов индексов (в любом порядке) или «Нет» для индексов, т.е. «PAD, Addr, POI»

Строка, которую вы передаете в create, - это гдеадресная информация должна быть предоставлена.Кроме того, правильный код страны для использования здесь "GB", а не "UK".Поэтому ваш код должен выглядеть примерно так:

FuzzySearchQuery query = FuzzySearchQueryBuilder.create("SN41AB,WF112AB")
        .withLanguage(Locale.getDefault().toLanguageTag())
        .withCountry("GB")
        .build();

// Do stuff with the results of query.
...