建设中的Google街景视图已经运行 - 现已破产

时间:2014-12-09 09:49:50

标签: google-maps google-street-view

所以,我有一个问题。我在我的网站上有谷歌地图街景,有一个建筑物全景(内部),现在API只显示这栋楼附近的街景。为什么以及如何解决这个问题?

这是我的代码:

        function initialize() {
            var fenway = new google.maps.LatLng(52.4980685,13.2951895);
            var panoramaOptions = {
                zoom: 1,
                panControl:false,
                zoomControl:false,
                mapTypeControl:false,
                scaleControl:false,
                rotateControl:false,
                streetViewControl:false,
                overviewMapControl:false,
                disableDefaultUI: false,
                addressControl: false,
                addressControlOptions: {
                    position: google.maps.ControlPosition.BOTTOM,
                    hide: true
                },
                position: fenway,
                pov: {
                    heading: 0,
                    pitch: 0
                }
            };
            var panorama = new google.maps.StreetViewPanorama(document.getElementById('pano'), panoramaOptions);
            google.maps.setStreetView(panorama);
        }

        google.maps.event.addDomListener(window, 'load', initialize);

1 个答案:

答案 0 :(得分:0)

这可能是一种错误(随时报告)。

我猜你说的是" Shebell Institut"

让我解释为什么它是一个错误:

目前

  • 此全景照片的ID(至少对我而言):ag1bfIf47xUAAAGuxVUjCQ
  • 以及全景的位置(由StreetViewService报告):(52.498042,13.29517199999998)

您的代码中的位置略有不同,但是当我使用确切的位置时,它应该显示所需的全景(因为它距离最近)......但它没有。

此外,当我通过StreetViewService.getPanoramaByLocation查询全景图时,将返回另一个全景图(包含其他位置),但文档说明了:
  如果半径小于50米,则会返回最近的全景。 ...但是当我使用确切的位置时,它不应该返回另一个位置的全景图。

我没有解决方案,因为对于文档全景,ID只能在会话中保持稳定。

但这并不意味着全景ID必须经常更改(我不知道是什么迫使更改全景ID,但我无法想象ID会随机更改)

因此,让我们试一试并使用panorama-ID(可选)。

  1. 将全景位置(在这种情况下为fenway)设置为

    (52.498042,13.29517199999998)
    
  2. 根据ID(ag1bfIf47xUAAAGuxVUjCQ
  3. 请求panoramaData
  4. 当两个位置(fenway和返回的全景图的位置)相等时,您可能会认为它仍然是所需全景的ID并使用此全景

        new google.maps.StreetViewService()
          .getPanoramaById('ag1bfIf47xUAAAGuxVUjCQ',
            function(data,status){
              if(google.maps.StreetViewStatus.OK===status 
                   &&
                data.location.latLng.toUrlValue()==fenway.toUrlValue()
                ){
                  panorama.setPano(data.location.pano);
                }
          });
    
  5. 演示:http://jsfiddle.net/doktormolle/uwqvr5ee/

    如果它有时不是所需的全景图,您可以向网站管理员发送通知,以便他可以更新全景ID。 我知道它并不完美,但它是迄今为止我能想到的唯一方法(除了custom panorama