【发布时间】:2011-06-08 15:42:34
【问题描述】:
我在告诉 Google 地图 API 将地理编码服务的结果限制在特定区域时遇到问题。
重现问题的简单示例在这里:http://jsfiddle.net/pqZGr/
JavaScript 代码非常简单:
$(document).ready(function () {
var geocoder = new google.maps.Geocoder();
$("#name").autocomplete({
source: function (request, response) {
geocoder.geocode({ 'address': request.term, 'region': 'it' }, function (results, status) {
response($.map(results, function (item) {
return {
value: item.formatted_address
}
}));
})
}
});
});
除了请求中的'region': 'it' 之外,我还将API URL 指定为http://maps.google.com/maps/api/js?region=it&language=it&sensor=false。
问题是谷歌返回的地址没有限制(也没有暗示)到意大利
例如,如果您搜索 mil(Milano 的开头),我会得到 Circondario di Miltenberg, Germania 和 Milion, Alemdar Mh., 34122 Istanbul/Provincia di Istanbul, Turchia 和 reka Mil', Sacha-Jacuzia, Russia。
它返回了来自世界各地的结果(也只有三个?),而来自意大利的则一无所有(即使有多个城市匹配 mil)。
我做错了什么?
作为旁注,是否可以将搜索限制在城市而不是完整地址?
提前致谢。
【问题讨论】:
标签: javascript google-maps-api-3