Javascript 获取街道视口/边界

Javascript 获取街道视口/边界,javascript,google-maps,google-maps-api-3,geocoding,Javascript,Google Maps,Google Maps Api 3,Geocoding,在我的网站上,我得到了一个谷歌地图自动完成字段,让用户选择一个位置(例如城市或街道) 一旦用户选择了地址,我会自动将地图的边界设置为位置的边界。例如,如果位置是一个大城市,边界将被放大很多,而如果用户输入一条小街,边界将被放大 我希望整个位置都在边界内-所以如果是一条长街,那么整个街道都应该在地图边界内 以下是我使用的代码: google.maps.event.addListener(autocomplete, 'place_changed', function () { var add

在我的网站上,我得到了一个谷歌地图自动完成字段,让用户选择一个位置(例如城市或街道)

一旦用户选择了地址,我会自动将地图的边界设置为位置的边界。例如,如果位置是一个大城市,边界将被放大很多,而如果用户输入一条小街,边界将被放大

我希望整个位置都在边界内-所以如果是一条长街,那么整个街道都应该在地图边界内

以下是我使用的代码:

google.maps.event.addListener(autocomplete, 'place_changed', function () {
    var address = autocomplete.getPlace();
    if (address && address.geometry && address.geometry.location) {
        centerCoord = address.geometry.location;
        map.setCenter(new google.maps.LatLng(centerCoord.lat(), centerCoord.lng()));
        if (address.geometry.viewport) {
            map.fitBounds(address.geometry.viewport);
        } else {
            //this happens when inputting a street - no viewport or bounds are returned. How do I get the entire bounds of the street?
        }
    }
});
问题在于,API在输入街道时显然不返回视口或边界。在这种情况下,如何获得边界

将缩放级别设置为静态值(如16)不起作用,因为用户可以键入短街道或长街道

根据要求,这里有一个JSFIDLE显示了我的问题:


尝试输入本地街道,如丹麦Frederiksberg Rolighedsvej,您将看到没有边界或视口返回。

对于我地理编码的任何“街道”,都有边界参数(但没有视口参数),这对您不适用吗?请提供一个演示该问题的示例。@geocodezip感谢您的回复。我已经添加了一个JSFIDLE和一个要使用的示例地址。在这里没有人能帮我吗?这是否只是google返回结果的一个bug,正如我在您提供的示例中看到的,所有街道现在都有一个视口。。。