2012-03-20 8 views
9

mi accorgo del campo visivo (FOV) gradi per strada livello di zoom è diverso tra i browsercome posso determinare il campo visivo una mappa vista panoramica stradale sta usando

Credo che il livello della strada vista zoom documentato per FOV è

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

sto usando l'API v3 Maps con vista sulla strada panoramica e ottenere livelli di zoom per FOV in cromo intorno

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

Questi zoom per FOV sono gli stessi in IE 7 e IE8

in Firefox e IE6 sono:

0: 180, 1: 90, 2: 45, 3: 22.5, 4: 11:25 
  • È questo documentato?
  • Come si può applicare la vista stradale FOV in modo coerente tra i browser o calcolare il valore del campo visivo per quel livello di zoom ?
+0

Controllare l'API di Maps sarà probabilmente un buon modo per rispondere alla prima domanda. Hai provato a fare questo? –

+0

grazie - sì ho controllato la documentazione dell'API qui: https://developers.google.com/maps/documentation/javascript/streetview ma solo i dettagli del livello di zoom a 0: 180, 1:90, 2:45 quando visualizzo via chrome o IE8 ottengo il livello di zoom su 0: 127, 1:90, 2:53 ma non riesco a vedere questi valori documentati ovunque – user1268415

risposta

0

non riesco a trovare la soluzione diversa da usare 90 gradi FOV che è coerente a zoom 1 per tutti i browser che ho testato

1

il problema è con quando l'API di Google Maps supporta l'uso di CANVAS con la specifica del browser

Maps versione API 3.7 24 gennaio 2012 incluso Attivato Canvas Street View su IE 9, Opera e Safari/Windows

utilizzando API di Google Maps 3.6 che non supporta tela nelle mappe (ad eccezione del browser Chrome) ottieni il FOV come 0: 180, 1: 90, 2: 45, 3: 22.5, 4: 11:25

qualsiasi streetview caricati entro mappe supportato tela ottenere FOV come 0: 127, 1: 90, 2: 53, 3: 28, 4: 14

0

Non è risposta diretta a una domanda, ma forse aiuta:

C'è un'opzione non documentata della classe google.maps.StreetViewPanorama denominata 'modalità'. Sarai in grado di forzare la modalità di rendering e il FOV dovrebbe essere lo stesso per es.'HTML5'

Google Maps API custom Street View quality issue

2

Attualmente, c'è un tavolo here zoom relativo e FOV che dice:

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

È possibile convertire da zoom per FOV in javascript come questo:

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

+0

E dal FOV allo zoom: 'var zoom = - (Math.log (fov/45) - 2 * Math.log (2))/Math.log (2) ' –

0

Poiché questo sembra essere il primo risultato su google, per chiunque sia interessato, è possibile utilizzare la formula

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

per ottenere i livelli di zoom

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

non riuscivo a trovare questo ovunque nella documentazione, ma si adatta perfettamente i dati e sembra la matematica per una proiezione cilindrica.

Problemi correlati