我正在使用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"}, ...
工作正常,我尝试过的所有国家/地区名称也是如此。
此致 皮特
答案 0 :(得分:3)
纽约的所在地是欧盟驻美国的外国使馆。您无法对库进行更改,因此您只需更改传入地理编码器的内容即可。如果您正在尝试为欧盟国家/地区进行地理编码,那么您必须通过您感兴趣的每个国家/地区。请注意,当我尝试对“Eu”进行地理编码时,我会获得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
答案 1 :(得分:1)
我希望我没有说明这一点,但欧盟并不是一个可以贴上地图标记的地方!
它是欧洲大陆周围28个不同国家之间的经济合作伙伴关系(是的,我知道 - 来自英语国家的一些人不是英国人吗?认为欧洲是一个国家。)
如果您将区域偏好的 EU 添加到Google地理编码器,则会优先考虑巴斯克地区(位于西班牙)的结果。您可以在此处查看所有IANA语言区域:http://www.iana.org/assignments/language-subtag-registry。
您尝试将国家/地区集合作为一个单一实体进行地理编码 - 无论您提交多少错误报告,它都无法正常运行。
答案 2 :(得分:0)
我接受你的说法,纽约的地点是欧盟外国大使馆的位置。而且我没有注意到欧盟地址的请求返回了法国一个名为Eu的村庄的坐标(而不是欧洲内部更通用的地方)。
在地理编码请求中包含区域EU似乎对结果没有影响。例如,以下请求返回意大利那不勒斯的位置。但如果我将 IT 更改为欧盟,或完全省略区域,则返回的位置是佛罗里达州的那不勒斯:
"address":"Naples","region":"IT"
Google地理编码器似乎接受任何2个字符的区域组合 - 并且只是忽略它无法识别的任何组合。它看起来像" EU"就是这样,尽管自2009年以来被列为IANA language region subtag。
还有其他想法吗?或者我应该直接向谷歌提出这个问题吗?