0

我们正在使用地点/搜索端点来查找地址。

由于位于安大略省,许多地址都有法语和英语版本。

例如,查找 360 Lisgar Ottawa,on 将返回 2 个法语地址和 2 个英语地址 ( https://places.demo.api.here.com/places/v1/discover/search?at=45%2C-75&q =360+Lisgar%2C+Ottawa%2C+on&addressFilter=countryCode%3DCAN&Accept-Language=en%3Bq%3D1%2Cfr%3Bq%3D0.1&app_id=DemoAppId01082013GAL&app_code=AJKnXv84fjrb0KIHawS0Tg )。

我们一直在尝试各种“Accept-Language”头参数的组合,不同的值和权重,总是返回4个值。有没有其他方法只能获取法语或英语地址?

如果返回的地址上有任何语言字段,我们可以过滤我们的代码,但我们在文档中找不到任何关于它的参考。有什么办法吗?

谢谢,雷内

4

2 回答 2

0

这可能值得尝试,因为我可以通过在末尾添加一个参数(与 Google API 相同的格式)来使用 HERE Geocoder REST API 指定语言:
&language=en

&language=ar

我在迪拜工作,所以我想要的另一种语言是阿拉伯语。请参阅下面的示例。

英文版 REST API 调用示例

https://geocoder.cit.api.here.com/6.2/geocode.json?app_id= {your app id} &app_code= {your app code} &searchText=1 Prince Fawaz St, Al Khobar&language=en

JSON 返回的示例摘录

                        "Address": {
                            "Label": "1 Prince Ahmad Street, Madinat Al Ummal, 34441 Al Khobar, Saudi Arabia",
                            "Country": "SAU",
                            "County": "Eastern Province",
                            "City": "Al Khobar",
                            "District": "Madinat Al Ummal",
                            "Street": "Prince Ahmad Street",
                            "HouseNumber": "1",
                            "PostalCode": "34441",
                            "AdditionalData": [
                                {

阿拉伯语的示例 REST API 调用

https://geocoder.cit.api.here.com/6.2/geocode.json?app_id= {your app id} &app_code= {your app code} &searchText=1 Prince Fawaz St, Al Khobar&language=ar

从 JSON 返回的示例提取

                        "Address": {
                            "Label": "\u202e\u202a1\u202c شارع الأمير أحمد, مدينة العمال, \u202a34441\u202c الخبر, السعودية\u202c",
                            "Country": "SAU",
                            "County": "المنطقة الشرقية",
                            "City": "الخبر",
                            "District": "مدينة العمال",
                            "Street": "شارع الأمير أحمد",
                            "HouseNumber": "1",
                            "PostalCode": "34441",
                            "AdditionalData": [
                                {
于 2018-02-04T11:45:13.737 回答
0

Accept-Language头在 here-api 中用于指示语言的偏好。但是,如果我们没有对该语言的结果进行翻译/音译,我们会使用一种回退机制,在该机制中,我们会尝试以用户可以理解的语言返回结果。在您的情况下,我怀疑某些地址只有法语条目,而其他地址只有英语条目,这就是为什么无论您将“Accept-Language”标题设置为什么,您都会得到相同的结果。没有办法过滤结果,因此如果我们没有您首选语言的翻译,那么我们根本不会返回结果。

于 2018-02-01T18:13:19.977 回答