Bounds和Region无法限制地图搜索

时间:2014-04-02 18:49:47

标签: javascript google-maps google-maps-api-3 google-geocoder bounds

我已经设置了一个简单的地理编码来验证地址。但是地区和边界似乎都没有限制。

我搜索的位置是" 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英里处创建边界。这应该有助于缩小搜索范围,但似乎并没有。

我已经检查了谷歌地图上的界限,我相信它们是正确的。但它仍然没有任何限制。我必须输入城市和/或拉链,我真的不想要那个。

这是一个工作原型的链接。放在你附近的地址,谷歌可能会错,如果它不知道你在哪里。并检查控制台

http://jsfiddle.net/57hpV/7/

知道我做错了吗?

谢谢!

0 个答案:

没有答案