使用谷歌api v3显示街景

时间:2014-08-22 12:54:43

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

我正在使用google api v3来显示街景,它在某个地方工作,但有些地方没有显示街景示例(715 MORAGA ROAD,MORAGA)那里的工作如果我们采取(950 COUNTRY CLUB DRIVE, MORAGA CA 94556)它不在这里是我的代码:

        <!DOCTYPE html>
        <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
        <html>
            <head>
                <meta charset="utf-8">
                <title>Street View service</title>
                <style>
                  html, body, #map-canvas {
                    height: 100%;
                    margin: 0px;
                    padding: 0px
                  }
                </style>
            <script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script>
            <script>
            var latitude=null;
            var longitude=null;
            var fenway;
            var map;
            var panoramaOptions;
            function initialize() {
             var value = '950 COUNTRY CLUB DRIVE , MORAGA CA 94556';
            alert("value"+value);
            var infoWindow = new google.maps.InfoWindow;
            $.ajax({
              url:"http://maps.googleapis.com/maps/api/geocode/json?address="+value+"&sensor=false",
              type: "POST",
              success:function(res){
            latitude=res.results[0].geometry.location.lat;
               alert("latitude"+latitude);
            longitude=res.results[0].geometry.location.lng;
            alert("longitude"+longitude);
             var fenway = new google.maps.LatLng(latitude, longitude);
              var mapOptions = {
                center: fenway,
                zoom: 14
              };
              var map = new google.maps.Map(
                  document.getElementById('map-canvas'), mapOptions);
              var panoramaOptions = {
                position: fenway,
                pov: {
                  heading: 34,
                  pitch: 10
                }
              };
              var panorama = new google.maps.StreetViewPanorama(document.getElementById('pano'), panoramaOptions);
              console.log(panoramaOptions);
              map.setStreetView(panorama);
            }});
            }
            google.maps.event.addDomListener(window, 'load', initialize);
            </script>
            </head>
            <body>
            <div id="map-canvas" style="width: 400px; height: 300px"></div>
            <div id="pano" style="position:absolute; left:410px; top: 8px; width: 400px; height: 300px;"></div>
            </body>
            </html>

1 个答案:

答案 0 :(得分:0)

原因很简单:此地点没有街景视图。

AFAIK没有记录,但您可能会认为必须在距离街景设置的位置 50米的距离内提供全景。

950 COUNTRY CLUB DRIVE , MORAGA CA 94556 (37.833037, -122.13019099999997)的最近全景 位于(37.833647, -122.12991799999998) 72米偏移。

目前无法在距离> 50的范围内找到最近的全景图,因此您可以检查50米内是否有可用的全景图(请参阅https://developers.google.com/maps/documentation/javascript/streetview#StreetViewService)并仅在a时创建StreetViewPanorama全景可用。

另一种可能性(用于geocodezip&#39的例子,这就是你在那里看到全景图的原因): streetViewPanorama通常被放置在道路上(谷歌通过汽车拍摄图像)。使用directionsService获取最近的道路(参见Google Maps API - Getting Street Coordinates)并使用道路坐标作为streetView的位置