Google Maps Javascript API / Streetview FOV

时间:2014-06-30 20:33:15

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

我想知道是否有办法改变StreetviewPanorama对象的视野?

此处未记录,但Google地图网站似乎与通过API创建的对象具有相同的FOV。

几个例子:

Google地图上的所有内容看起来都更加统一,而且API更加平坦。

两者都具有完全相同的坐标和标题,放大并没有多大帮助。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

我有同样的问题。 你也使用过火狐吗?

当我在Chrome上使用Google Maps API时,它与Google地图完全相同。 仍然无法找到解决问题的方法。

fov应与文件中提到的相同。

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

所以问题就在于他们使用的预测。

我只是尝试将用户代理更改为欺骗我使用Chrome的API。它有效。

navigator.__defineGetter__('userAgent', function(){
    return 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36' // customized user agent
});

但是当我尝试拖动全景时,结果非常慢。

也许这就是为什么他们使用大平面图像而不是3D球形图像。


2014/08/08更新

解决这个问题的好消息。

我在Google Groups找到了一个解决方案。

有一个未记录的属性"模式"可以在PanoramaOptions中设置。

您可以使用' html4',' html5'和' webgl'。

如果我将模式设置为' html5'那将不会产生鱼眼效果。(但是,使用' webgl'而不是使用游戏)

以下显示了代码段:

var panoramaOptions = {
        pano : panoId,
        pov: {
          heading: heading,
          pitch: pitch
        },
        enableCloseButton:false,
        addressControl:false,
        panControl:false,
        visible: true,
        clickToGo:false,
        addressControl:false,
        mode : "html5",
        zoomControlOptions:{
            position : google.maps.ControlPosition.TOP_LEFT
        }
    };

它比设置用户代理要好得多。