我可以将MapBox用于街景视图,例如谷歌地图街景

时间:2016-11-18 09:02:17

标签: javascript angularjs mapbox

我想在地图框中实现像谷歌街景一样的街景。如果有人有任何想法,请相应地指导我。

1 个答案:

答案 0 :(得分:6)

注意(更新):将非Google地图与StreetView结合使用不符合Google的服务条款: http://cloud.google.com/maps-platform/terms

从技术上讲,这是可能的:

您可以将Google Street View Service与自定义地图集地图一起使用。

要创建街景全景图,您需要对其进行初始化:

panorama = new google.maps.StreetViewPanorama(document.getElementById('panorama'), {
    position: { lng: 23.332791136054766, lat: 42.69581966446731 },
    pov: { heading: 165, pitch: 0 },
    addressControl: false,
    linksControl: true, // guide arrows
    panControl: false, // compass
    zoomControl: false,
    /*
    zoomControlOptions: {
        position: google.maps.ControlPosition.LEFT_TOP
    },*/
    fullscreenControl: true,
    fullscreenControlOptions: {
        position: google.maps.ControlPosition.LEFT_TOP
    },
    zoom: 5,
    visible: true,
    mode: 'html5' // fixes bug in FF: http://stackoverflow.com/questions/28150715/remove-google-street-view-panorama-effect
});

然后,您可以根据来自地图集地图的事件更新全景位置:

panorama.setPov({
    heading: +building.heading || 0,
    pitch: +building.pitch || 0,
    zoom: +building.zoom || 1
});
panorama.setPosition({
    lng: +building.lng,
    lat: +building.lat
});

// NOTE: this fixes broken behavior:
panorama.setVisible(false);
panorama.setVisible(true);

或者,您可以查看Mapillary,这是Google街景的一个更开放的选择。他们实际上在explorer UI中使用了mapbox-gl。