【问题标题】:How to prevent Google geocoder incorrectly locating "European Union" as being in the USA?如何防止谷歌地理编码器错误地将“欧盟”定位为在美国?
【发布时间】:2015-01-04 17:45:30
【问题描述】:

我正在使用https://maps.gstatic.com/maps-api-v3/api/js/19/4/intl/en_gb/geocoder.js

geocoder.geocode({"address":"European Union"}, ... 

返回美国纽约作为它的位置!!

我必须使用哪些更改、附加参数等来获得更合理的位置? 注意:geocoder.geocode({"address":"EU"}, ... 可以正常工作,我尝试过的所有国家/地区名称也是如此。

问候, 皮特

【问题讨论】:

    标签: google-maps google-geocoder country country-codes


    【解决方案1】:

    您获得的纽约位置是欧盟驻美国的外国大使馆。您无法对库进行更改,因此您只需更改您传递到地理编码器的内容。如果您尝试为欧盟国家/地区进行地理编码,则必须通过您感兴趣的每个国家/地区。请注意,当我尝试对“欧盟”进行地理编码时,我得到 Eu,Seine-Maritime,即位于法国。

    您还可以将 EU 作为 GeocodeRequest 对象文字的区域,然后将其传递给 Geocode.geocode(),如下所述:https://developers.google.com/maps/documentation/javascript/geocoding#GeocodingRequests

    如果您使用的是 JavaScript 和 HTML,则可以使用区域代码偏差在脚本源中指定 EU 作为 Google 地图 API 的区域(虽然下面的示例使用 ES,但思路相同): https://developers.google.com/maps/documentation/javascript/examples/geocoding-region-es

    【讨论】:

      【解决方案2】:

      我希望我不是在说显而易见的,但欧盟不是一个你可以在上面贴地图标记的地方!

      这是欧洲大陆内外 28 个不同国家之间的经济伙伴关系(是的,我知道 - 一些来自非英国英语国家的人确实认为欧洲是一个国家)。

      如果您将 EU 区域偏差添加到 Google 地理编码器,它将优先考虑巴斯克地区(位于西班牙)的结果。您可以在此处查看所有 IANA 语言区域:http://www.iana.org/assignments/language-subtag-registry

      您正在尝试将一组国家/地区作为一个实体进行地理编码 - 无论您提交多少错误报告,它都无法正常工作。

      【讨论】:

      • 地理编码器能否定位美国或路易斯安那州?在这种情况下,期望它也能够找到欧盟是合理的。
      【解决方案3】:

      我相信你的话,纽约的地点是欧盟外国大使馆的所在地。而且我没有注意到 EU 地址请求返回了法国一个名为 Eu 的村庄的坐标(而不是欧洲内更通用的位置)。

      在地理编码请求中包含欧盟地区似乎对结果没有影响。例如,以下请求返回意大利那不勒斯的位置。但是,如果我将 IT 更改为 EU,或者完全省略区域,则返回的位置是佛罗里达州的那不勒斯:

      "address":"Naples","region":"IT"
      

      Google 地理编码器似乎接受区域的任何 2 字符组合 - 并且简单地忽略它无法识别的任何组合。看起来“欧盟”就是其中之一,尽管它自 2009 年以来被列为 IANA language region subtag

      还有其他想法吗?还是我应该直接向 Google 提出这个问题?

      【讨论】:

      • 您好 ABTUK 网站管理员...即使我们发现了同样的事情,不仅是欧盟,其他地区也是如此。当您有一个区域的子类型并输入城市/国家的组合时,您知道该区域仍然返回预期的不同值或返回未找到。但是您能否告诉您尝试使用 Geocoder API 查看地图的地址,因为欧盟作为敏感位置可能无法通过这些开源 Google API 访问。
      • 嗨@AniV ...我正在寻找的地址正是这篇文章第二行中的地址,即 geocoder.geocode({"address":"European Union"}, .. . 如果我指定一个国家名称(例如德国、美国等),地理编码器会返回一个合理的位置。但对于“欧盟”,它不会。
      • 嗨@Aniv ...太好了。但是您向谁提交了错误?如果它是 Google 地理编码器开发人员不太可能访问的地方,我将直接向他们开一张票(假设我能找到如何...)
      猜你喜欢
      • 2023-02-01
      • 2013-11-28
      • 1970-01-01
      • 2023-04-02
      • 2021-06-29
      • 1970-01-01
      • 2021-05-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多