我的streetview应用程序的灰色背景

时间:2016-07-11 11:11:54

标签: javascript android google-maps google-street-view

我正在尝试使我的地理位置应用程序正常工作,经过大量验证和console.log()函数之后,一切都应该有效。我的问题是它实际上没有用。我只有灰色背景而不是我想要的街景。

以下是代码:

StreetView: function (latitude, longitude) {
    $('#streetview').css({'width': $(window).width(), 'height': $(window).height()});

    var lookTo = {lat:  parseFloat(latitude), lng:  parseFloat(longitude)};
    var latlong = new google.maps.LatLng(parseFloat(latitude), parseFloat(longitude));
    var panoOptions = {
        position: lookTo,
        panControl: false,
        addressControl: false,
        linksControl: false,
        zoomControlOptions: false
    };
    // initialize a new panorama API object and point to the element with ID streetview as container
    var pano = new google.maps.StreetViewPanorama(document.getElementById('streetview'), panoOptions);
    // initialize a new streetviewService object
    var service = new google.maps.StreetViewService;
    // call the "getPanoramaByLocation" function of the Streetview Services to return the closest streetview position for the entered coordinates
    console.log('Pano Positon :'+ pano.getPosition());
    service.getPanoramaByLocation(pano.getPosition(), 50, function (panoData) {
        // if the function returned a result
        if (panoData != null) {
            // the GPS coordinates of the streetview camera position
            var panoCenter = panoData.location.latLng;
            console.log('PanoCenter' + panoCenter);
            // the "computeHeading" function calculates the heading with the two GPS coordinates entered as parameters
            var heading = google.maps.geometry.spherical.computeHeading(panoCenter, latlong);
            console.log('Heading : '+ heading);
            // now we know the heading (camera direction, elevation, zoom, etc) set this as parameters to the panorama object
            var pov = pano.getPov();
            pov.heading = heading;
            pano.setPov(pov);
            // set a marker on the location we are looking at, to verify the calculations were correct
            var marker = new google.maps.Marker({
                map: pano,
                position: lookTo
            });
        } else {
            // no streetview found
            console.log('not found');
        }
    });

}

我复制了一些我发现的关于Google API的代码,并且有评论。所以它应该是可读的。 如果有人有想法......

2 个答案:

答案 0 :(得分:0)

尝试设置缩放参数。如果这不起作用,请注意版本3.20,3.21,3.22不再可用,如forum中所述。检查此documentation。如果您的浏览器是Internet Explorer,请确保使用supported version并且不要使用兼容模式。

检查以下相关问题:

  

使用google.maps.StreetViewService.getPanoramaByLocation()确定是否有适用于指定位置的全景图。

希望这有帮助!

答案 1 :(得分:0)

感谢您的回答。

实际上,我发现了什么是错的。我没有安装Whitelist插件。

因此,行<access origin='*' />未被解释。 在通过$ .getScript获取Google Api脚本后,我正在调用此函数(StreetView函数)。 从未调用Ajax调用,因为不接受跨域请求。