我怎么知道Lat,Lng点是否有街景?

时间:2012-10-19 14:42:47

标签: javascript google-maps

这是我的javascript代码

Description += "<br><span class='descr'>Coordinate:</span> <span class='cont'><a href=\"" + mapsLink + "\" onclick=\"window.open('" + mapsLink + "')\">" + picRecords[index].getCoords() + "</span></a>";

var mapsLink = "https://maps.google.it/maps?q=" + picRecords[index].getLatitude() + "," + picRecords[index].getLongitude();

我希望如果一个点(getLatitude,getLongitude)打开街道视图,onClick上的另一个链接。

我必须使用一些Google Maps API吗?哪个?

感谢您的回复!

2 个答案:

答案 0 :(得分:1)

是的,您必须使用Google Maps API进行此操作

https://developers.google.com/maps/documentation/javascript/streetview#StreetViewService

getPanoramaByLocation()函数会告诉您附近是否有全景图。

答案 1 :(得分:1)

barryhunter说什么。这是我如何做到的。我有一个空的div,已经可以看到街道图了。如果街道地图不可用,我会隐藏div:

function createStreetMap(strMapCanvasID, intLat, intLong) {
    var streetViewLocation = new google.maps.LatLng(intLat, intLong);
    var panorama;
    var sv = new google.maps.StreetViewService();
    sv.getPanoramaByLocation(streetViewLocation, 50, function (data, status) {
        if (status == 'OK') {
            var panoramaOptions = {
                pano: data.location.pano,
                addressControl: false,
                navigationControl: true,
                navigationControlOptions: {
                    style: google.maps.NavigationControlStyle.SMALL
                }
            };
            var panorama = new google.maps.StreetViewPanorama(document.getElementById(strMapCanvasID), panoramaOptions);
        } else {
            $('#' + strMapCanvasID).parent().hide();
        }
    });
    return panorama;
}

然后我这样做:

$(document).ready(function() {
    var myPano = createStreetMap('streetView', 41.3884810185, 2.13370800018);
});