如何确定街景全景图正在使用的视野

时间:2012-03-20 20:30:59

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

我注意到每个街道视图的视野(FOV)度数在浏览器之间的缩放级别是不同的

我相信记录的街景视图缩放级别为FOV

0: 180, 1: 90, 2: 45, 3: 22.5, 4: 11:25

我正在使用带有街景全景图的v3 Maps API,并将缩放级别设置为镀铬周围的FOV

0: 127, 1: 90, 2: 53, 3: 28, 4: 14

这些缩放到FOV在IE7和IE8中是相同的

在Firefox和IE6中它们是:

0: 180, 1: 90, 2: 45, 3: 22.5, 4: 11:25 
  • 这是否有记录?
  • 如何强制执行街景FOV 一致地跨浏览器或计算该缩放的FOV值 水平?

5 个答案:

答案 0 :(得分:2)

目前,有一个表格here与缩放和视频相关,表示:

0=>180 1=>90 2=>45 3=>22.5 4=>11.5

您可以在javascript中将缩放转换为FOV,如下所示:

var fov = 180 / Math.pow(2,zoom);

答案 1 :(得分:1)

问题在于地图api何时支持在特定浏览器中使用CANVAS

Maps API版本3.7 2012年1月24日包括在IE 9,Opera和Safari / Windows上启用Canvas Canvas街景

使用不支持地图画布的地图api 3.6(Chrome浏览器除外)你得到FOV为0:180,1:90,2:45,3:22.5,4:11:25

在地图支持的画布中加载的任何街景视图都将FOV视为 0:127,1:90,2:53,3:28,4:14

答案 2 :(得分:0)

我找不到解决方案,除了使用90度FOV,这在我测试过的所有浏览器的缩放1都是一致的

答案 3 :(得分:0)

这不是问题的直接答案,但也许有帮助:

有一个名为'mode'的google.maps.StreetViewPanorama类的未记录选项。您将能够强制渲染模式,并且FOV应该与例如相同。 'HTML5'

Google Maps API custom Street View quality issue

答案 4 :(得分:0)

由于这似乎是Google上的第一个结果,对于任何有兴趣的人,都可以使用公式

Math.atan(Math.pow(2, 1 - zoom)) * 360 / Math.PI

获取缩放级别

0: 127, 1: 90, 2: 53, 3: 28, 4: 14

我在文档中的任何地方都找不到这个,但它完全符合数据,看起来像圆柱投影的数学。