获取街景视口/边界

时间:2016-05-23 11:29:09

标签: javascript google-maps google-maps-api-3 geocoding

在我的网站上,我有一个Google地图自动填充字段,用户可以选择一个位置(例如城市或街道)。

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

我想要在界限范围内覆盖整个位置 - 所以如果它是一条长街,那么整个街道应该在地图范围内。

以下是我使用的代码:

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)不起作用,因为用户可以键入短街或长街。

根据要求,这是一个展示我的问题的JsFiddle:https://jsfiddle.net/cy1o228e/5/

尝试进入当地街道,例如 Rolighedsvej,Frederiksberg,Denmark ,您将看到没有返回任何边界和视口。

0 个答案:

没有答案