1

这是我正在尝试做的事情:

  • 给定一个英国邮政编码作为起点和终点,例如 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 的示例吗?

4

1 回答 1

1

文档withExtendedPostalCodes建议此方法的使用方式与您的示例完全不同:

结果中应包含扩展邮政编码的索引。可用索引有:Addr、Geo、PAD、POI、Str、XStr。值应该是一个以逗号分隔的索引类型列表(以任何顺序)或“None”表示没有索引,即“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.
于 2018-11-18T13:29:38.237 回答