javascript - Google map Javascript API/街景 FOV

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

我想知道是否有任何方法可以更改 StreetviewPanorama 对象的视野?

这没有任何记录,但 Google map 网站似乎没有与通过 API 创建的对象相同的 FOV。

几个例子:

一切在 Google map 上看起来都更加球形,而使用 API 后一切看起来更加扁平。

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

有什么想法吗?

最佳答案

我也有这样的问题。 你也用过火狐浏览器吗?

当我在 Chrome 上使用 Google Maps API 时,它与 Google map 完全一样。 目前还没有找到解决的办法。

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 中设置一个未记录的属性“mode”。

您可以使用“html4”、“html5”和“webgl”。

如果我将模式设置为“html5”,则不会有鱼眼效果。(但tourdash使用“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
        }
    };

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

关于javascript - Google map Javascript API/街景 FOV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24498484/

相关文章:

android - 如何在 Android API 级别 9+ 的 MapActivity 中显示兼容性操作栏?

android - Android map 应用程序中形状(圆形、多边形)的信息窗口

javascript - 在 MarkerClustererOptions 的 MarkerClustererPlus 样式参数中无法正常工作

javascript - 为 google-maps-api-3 制作热图动画

javascript - 双击图像激活复选框

javascript - 即使在 JavaScript 中使用有效的 return 语句,递归函数也会返回未定义

Javascript 到 Java Web 应用程序

javascript - 使用 KeyDown/KeyPress 打开 InfoWindow

google-maps-api-3 - 在相机移动之前,标记不会显示在 Google 街景 View 中

javascript - Rails 3.1 中页面特定的 javascript 文件