Как найти координаты почтового индекса с помощью API TomTom
Вот что я пытаюсь сделать:
- Учитывая почтовый индекс Великобритании в качестве начальной и конечной точки, например, 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 ответ
Документация для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.