Jquery Scripting中的Google Region偏向

Jim*_*mmy 6 javascript jquery google-maps-api-3

我现在似乎无法做到这一点,谷歌谈到这里的地区:

https://developers.google.com/maps/documentation/geocoding/#RegionCodes

它使用以下参数:

region:
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的代码:http://jsfiddle.net/spadez/Jfdbz/19/

我的问题是如何在我的脚本中将变量"ctryiso"传递给此参数?当我尝试时,没有任何变化,所以当ctryiso设置为美国并且我在伦敦输入时它仍然对英国伦敦进行地理编码.我听说它可能有点不可靠,但我仍然不认为我的实现是正确的.

小智 2

通常你有:

geocoder.geocode({
    address: query
}
Run Code Online (Sandbox Code Playgroud)

你应该region像这样通过(正如你已经提到的):

geocoder.geocode({
    address: query,
    region: SOME_VARIABLE_WITH_REGION_CODE
}
Run Code Online (Sandbox Code Playgroud)

它应该有效,尽管......似乎没有,而且越来越多的人遇到同样的问题。

(丑陋的)解决方案是将其添加到地址中,如下所示:

geocoder.geocode({
    address: query + ', ' + SOME_VARIABLE_WITH_REGION_CODE
}
Run Code Online (Sandbox Code Playgroud)

我刚刚测试了它并且它有效,但正如我所说 - 这不是“好”也不是正确的方法 - 这只是解决方法。

正如我们在这里看到的: https://developers.google.com/maps/documentation/javascript/reference ?hl=th-TH&csw=1#GeocoderRequest

您可以通过addressboundslocationregion。由于区域似乎不起作用,我会尝试bounds通过首先获取所需区域的坐标来使用:

https://developers.google.com/maps/documentation/javascript/reference?hl=th-TH&csw=1#LatLngBounds