我已经设置了一个简单的地理编码来验证地址。但是地区和边界似乎都没有限制。
我搜索的位置是" 2400波士顿st"这就是我目前坐在巴尔的摩MD的地方。在谷歌地图上,如果我搜索2400波士顿,它猜对了。但是根据我的地理编码器代码,它猜测波士顿,MA
validateAddress: function(address, callback) {
var lat = this.current.lat;
var lon = this.current.lon;
var nMiles = 5;
var m = 1/69;
var bounds = new google.maps.LatLngBounds(
new google.maps.LatLng(lat + (m * nMiles), lon - (m * nMiles)),
new google.maps.LatLng(lat - (m * nMiles), lon + (m * nMiles))
);
this.google.geocoder.geocode({
address:address,
bounds:bounds,
region: "US"
}, function (results, status) {
if(!results || (results && !results.length)) return callback(false);
else return callback(results[0].formatted_address);
});
}
基本上我获得当前位置,并在距离这里5英里处创建边界。这应该有助于缩小搜索范围,但似乎并没有。
我已经检查了谷歌地图上的界限,我相信它们是正确的。但它仍然没有任何限制。我必须输入城市和/或拉链,我真的不想要那个。
这是一个工作原型的链接。放在你附近的地址,谷歌可能会错,如果它不知道你在哪里。并检查控制台
知道我做错了吗?
谢谢!