2012-10-12 7 views
6

Ich bin neu bei Google Maps.
Ich möchte Google Maps mit drei verschiedenen Kartentypen (Karte, Satellit, Hybrid) in der Karte anzeigen.Kann 3 Kartentypen in Google Maps nicht anzeigen

Dafür schreibe ich Code wie

function initialize() { 
    var mapOptions = { 
    center: new google.maps.LatLng(35.02, 111.02), 
    zoom: 8, mapTypeControlOptions: { 
    mapTypeIds: [google.maps.MapTypeId.ROADMAP, google.maps.MapTypeId.SATELLITE,google.maps.MapTypeId.HYBRID] 
    }, 
    mapTypeId: google.maps.MapTypeId.ROADMAP, 
    }; 
    var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); 

Aber mit dem obigen Code, den ich im Stande bin, nur angezeigt werden Karte und Satellitenkartentypen in der Karte. Der dritte Kartentyp Hybrid wird nicht in der Karte angezeigt. Auch wenn ich auf den Typ Satellit klicke, bekomme ich eine Option wie Label. Daher möchte ich die Label-Option nicht unter Satellit anzeigen.

+0

Es ist off-topic, aber entfernen Sie die abschließenden Komma hier, die einen Fehler in IE werfen wird: 'mapTypeId: google.maps.MapTypeId.ROADMAP,' – duncan

Antwort

4

sieht aus wie Sie nur 2 der 4 MapTypeId Etiketten auf Ihrer Karte haben können.

aber Sie können die Karte zu hybrid erzwingen

map.setMapTypeId(google.maps.MapTypeId.HYBRID) 

jederzeit einstellen, sei es der Benutzer auf einen Link, eine Schaltfläche, ein timmer, am Ende des Codes klicken usw.

Überprüfung dieses jsfiddle: http://jsfiddle.net/RASG/vDLfs/

ddd


ich habe gerade etwas neues in einer google gruppe entdeckt.

wenn Sie google.maps.MapTypeId.HYBRID-mapTypeIds hinzufügen, und Sie haben bereits google.maps.MapTypeId.SATELLITE, anstatt beide Optionen zeigen nun eine Option „Labels“, wenn Sie Mouseover „Satelliten“ genannt hinzufügen google maps.

Der Effekt ist der selbe wie die "Hybrid" -Option in v2.

Überprüfung der aktualisierte jsfiddle: http://jsfiddle.net/RASG/vDLfs/6/

eee

+0

Vielen Dank für Ihre Antwort .. Ich habe auch die Lösung wie die Sie erwähnt. Aber meine Kunden wollen es in der Karte anzeigen. sie haben Version2 benutzt, wo sie es in die Karte geschafft haben. jetzt wollen sie es auf Version 3 upgraden –

+0

Danke für die Info. –

+0

@ krishnasavith du bist willkommen. Verbreiten Sie die Nachrichten zu Ihrem Kunden :) – RASG

6

Karten v3 die vier verfügbaren mapTypeIds (HYBRID, FAHRPLAN, SATELLITE, TERRAIN) in zwei Tasten sowie ein Kontrollkästchen für jede dieser Tasten immer kondensieren. So SATELLITE + HYBRID gibt Ihnen einen Satellite Knopf mit einer Labels Checkbox und FAHRPLAN + TERRAIN gibt Ihnen eine Karte-Taste mit einer Terrain Checkbox.

Bitte beachten Sie, dass das Kontrollkästchen nur, wenn Sie über eine aktive Taste schweben dargestellt ist, so dass Sie in Karte-Modus finden Sie in die Terrain Checkbox unter dem Button sein müssen und Sie in Satelliten sein müssen Modus, um die Labels Checkbox zu sehen!

Es ist interressant zu sehen, dass es ist eigentlich ein Hybrid-Taste, aber es wird nur sichtbar, wenn Sie HYBRID auf die mapTypeIds ohne Zugabe SATELLITE hinzufügen.Dasselbe gilt für die Terrain-Schaltfläche, die nur sichtbar wird, wenn Sie TERRAIN zur Liste hinzufügen, aber nicht ROADMAP.

Wenn Sie mapTypeControlOptions.style in eine Dropdown-Box (DROPDOWN_MENU) anstelle von Schaltflächen (HORIZONTAL_BAR) umschalten, werden in der resultierenden Dropdown-Box auch nicht mehr als zwei Elemente angezeigt. Genau wie bei den Schaltflächen gibt es maximal zwei Dropdown-Elemente sowie eine Checkbox für jeden von ihnen.

+0

... PLUS Ihre benutzerdefinierten Stil (e), wenn Sie erstellen Sie. – vaxquis

0

Das Hinzufügen eines Google Earth-Kartentyps zur Anzeige deaktiviert die TERRAIN-Option unter ROADMAP und die HYBRID-Option unter SATELLITE.

Verwandte Themen