2012-03-13 8 views
6

Desidero rimuovere l'opzione per l'utente di mettere la mappa in modalità inclinazione a 45 gradi dalla vista satellitare. Posso impostare l'inclinazione predefinita chiamando setTilt (0) sull'oggetto Mappa, ma quando viene visualizzata la mappa e l'utente fa clic sull'opzione Satellite nella parte superiore destra della mappa, mostra comunque l'opzione di 45 gradi.Come disattivare l'opzione di 45 gradi nell'API di Javascript di Google Maps 3.x

Come eliminare l'opzione a 45 gradi e mantenere l'utente in grado di passare dalla vista stradale a quella satellitare.

+1

Non credo che questo sia possibile.Non solo non è menzionato nella documentazione, non c'è nulla di facilmente accessibile nell'API. –

risposta

2

Ho fatto questo reimplementando manualmente "mapTypeControl". allora hai il controllo su esattamente ciò che è incluso.

(ho fatto perché ha usato per essere alcun modo di non includeing l'opzione Terrain - ma che è stato fissato ora il suo lo stesso problema di base.)

possibile utilizzare questo esempio come punto di partenza: http://gmaps-samples-v3.googlecode.com/svn/trunk/controls/index.html

+0

Ok, grazie, non credo che tu possa indicarmi un esempio di codice con un mapTypeControl personalizzato? – Fraggle

+0

Abbiamo rimosso il codice dal progetto su cui lavoro - come ho detto il problema con l'esclusione del terreno è stato corretto nell'originale. Potrei riuscire a trovare il codice se davvero sto scavando. Ma è stato più o meno basato su un esempio di Google (così ho ottenuto tutti i CSS ecc.) - Ho aggiornato la risposta con il link. – barryhunter

+2

@barryhunter Il collegamento non funziona – Malachi

6
var mapOptions = { 
    center: mycenter, 
    zoom: 7, 
    tilt: 0, 

questo codice disabilita la visualizzazione a 45 gradi per sempre, ma non è stato possibile rimuoverlo.

a cura

+0

Non funziona. La versione Dropdown del menu include ancora l'immaginazione a 45 gradi come opzione. (appare solo quando si seleziona satalite). Dimostratore: http://www.nearby.org.uk/google/nolabels-drop.php (zoom per dire Roma) – barryhunter

+0

"Visualizza sorgente" nel tuo browser? (Di solito Ctrl-U funziona) – barryhunter

+0

non esiste un modo definito per rimuovere la visualizzazione a 45 gradi. appare solo immagini disponibili a 45 gradi. (http://maps.google.com/maps/ms?ie=UTF8&t=h&oe=UTF8&msa=0&msid=112099477591857711257.00048ad05c320f746f5c2) prova a definire "setTilt" e "getTilt" in javascript. e "inclinazione" anche associata al livello di zoom .. – zippo

13

Il miglior ripiego che ho trovato per risolvere questo comporta sia l'impostazione del parametro di inclinazione in opzioni mappa, e anche nascondere il popup usando i CSS selettori di attributo. Nelle altre soluzioni, un utente può comunque passare manualmente alla vista a 45º.

Opzioni Mappa

var mapOptions = { 
    tilt:0, 
    //all other map options 
} 

CSS per nascondere il popup (mouse sopra il controllo 'Satellite').

[title=Show\ 45\ degree\ view] 
{ 
    display:none; 
} 
+1

Dovresti evitare di usare testo localizzato quando selezioni gli elementi in css, quando possibile. Cosa succede con questa soluzione quando il cliente sta visualizzando la tua pagina in tedesco? –

+0

Per nascondere il pulsante di inclinazione in Google Map utilizzare una di queste opzioni: '.gm-tilt {display: none;}' '$ (". Gm-tilt "). Hide();' – dsm

0

ho trovato avete bisogno di un po 'diverso CSS per nascondere il selettore 45 gradi:

[title=Show\ 45\ degree\ view], [title=Zoom\ in\ to\ show\ 45\ degree\ view], [title=Zoom\ in\ to\ show\ 45-degree\ view] { 
    display:none !important; 
} 

Update, trovato ancora un altro titolo usato quando le mappe sono visualizzate su dispositivi mobili.

+0

Man è brutto , ma ho votato perché tutte le soluzioni qui sembrano essere piuttosto brutte e questa è almeno minima. –

0

Un'altra alternativa è aggiungere un listener di eventi per forzare l'inclinazione allo 0. Questo è in aggiunta all'impostazione di tilt: 0 nelle opzioni della mappa come altri raccomandano.

Non rimuove l'interfaccia utente, ma impedisce qualsiasi visualizzazione tranne l'overhead. È indipendente dalla lingua e non devi tenere aggiornato il tuo CSS.

Esempio:

google.maps.event.addListener(map, 'tilt_changed', function() { 
    if (map.getTilt() != 0) { 
     map.setTilt(0); 
    } 
}); 
0

Quelle risposte vanno bene, ma io preferisco usare questo selettore per nascondere il pulsante di inclinazione:

[class="gm-tilt"] 
{ 
    display:none; 
} 
+0

Basta usare '.gm-tilt'. – cst1992

-1

Quando si ottiene lo script, c'è una variabile chiamata myOptions e questo contiene lo zoom. Come:

var myOptions = {zoom:19,center:new google.maps.LatLng(....... 

Qui è possibile includere l'inclinazione variabile: 0, come:

var myOptions = {zoom:19,tilt:0,center:new google.maps.LatLng(....... 
Problemi correlati