Как я могу определить поле обзора, используя панораму с видом на улицу?

Я заметил, что степень поля зрения (FOV) для каждого вида улицы различна в разных браузерах

Я полагаю, что задокументированный уровень масштабирования при просмотре улиц до поля зрения

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

Я использую API Карт v3 с панорамой улиц и получаю уровни масштабирования до FOV в Chrome вокруг

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

Эти увеличения в поле зрения одинаковы в IE7 и IE8

в Firefox и IE6 они являются:

0: 180, 1: 90, 2: 45, 3: 22.5, 4: 11:25 
  • Это задокументировано?
  • Как можно принудительно применять FOV для просмотра улиц в разных браузерах или рассчитать значение FOV для этого уровня масштабирования?

5 ответов

В настоящее время здесь есть таблица, относящаяся к zoom и FOV, которая гласит:

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

Вы можете конвертировать из увеличения в поле зрения в JavaScript следующим образом:

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

Проблема в том, когда API карты поддерживает использование CANVAS с конкретным браузером

API Карт версии 3.7 от 24 января 2012 г. Включено отображение Canvas Street View в IE 9, Opera и Safari/Windows

используя карты 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

Я не могу найти решение, кроме как использовать 90-градусный FOV, который соответствует при увеличении 1 для всех браузеров, которые я тестировал

Поскольку это, кажется, первый результат на Google, для всех, кто заинтересован, вы можете использовать формулу

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

чтобы получить уровни масштабирования

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

Я не смог найти это нигде в документации, но он отлично вписывается в данные и выглядит как математика для цилиндрической проекции.

Это не прямой ответ на вопрос, но, возможно, это поможет:

Существует недокументированная опция класса google.maps.StreetViewPanorama с именем 'mode'. Вы сможете включить режим рендеринга, и FOV должен быть таким же, например, для. 'html5'

Проблема качества просмотра улиц в Google Maps API

Другие вопросы по тегам