2010-12-16 21 views
1

Weiß jemand, ob es eine Möglichkeit gibt, die Größe einer Google-Karte unabhängig von ihrem Container div anzugeben? Der Grund, warum ich frage ist, dass meine Karte nicht genau auf dem letzten Punkt zentriert ist. Ich lade die Karte in einem Iframe mit einer Breite und Höhe (400 x 200) in meine Seite ein. In dem Rahmen, den ich einziehe, ist die Google Map innerhalb eines div der Größe (400 x 200) auch. Aber es ist jedes Mal etwas außermittig.Google Map v3 nicht zentriert

mein Code wie folgt

function initializeMap(latVal, lngVal, titleStr, merchantName) { 
var latlng = new google.maps.LatLng(latVal, lngVal); 
var myOptions = { 
     zoom: 15, 
     center: latlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
}; 

var contentString = '<span style="font-size:12pt;">' + merchantName + '</span><span style="font-size:10pt;">' + titleStr + '</span>'; 
var infowindow = new google.maps.InfoWindow({ 
    content: contentString 
}); 
var marker = new google.maps.Marker({ 
    position: latlng, 
    title:titleStr 
}); 
var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions); 
google.maps.event.addListener(marker, 'click', function() { 
    infowindow.open(map,marker); 
}); 
// To add the marker to the map, call setMap(); 
marker.setMap(map); 
} 

Ich bin v3 der Google Maps API und wurde gerade auf der Suche für einige Hinweise, wie ich in der Lage könnte meine Karte richtig zu zentrieren. Wie bereits erwähnt, wird das obige Skript (und map_canvas div) in einem iframe in meine Hauptseite geladen.

Vielen Dank für Ihre Hilfe

+0

Code Block befestigt – Hamish

+1

Ich habe dieses Problem hatte die Standard embeded Karten zu verwenden, wenn die Eltern div versteckt. Der Marker befand sich immer außerhalb des Ansichtsfensters. Ich musste die Karte laden, nachdem das Div angezeigt wurde. – Keyo

+0

Keyo - Vielen Dank - das war die Antwort für mein Problem. Vielen Dank! –

Antwort

1

Wenn ich das Skript richtig lesen, sind Sie die Karte zu initialisieren, eine Markierung Hinzufügen dann Öffnen der Info-Fenster der Markierung. Beachten Sie die Dokumentation für InfoWindowOptions:

Standardmäßig wird das Infofenster der Karte verschieben, so dass es vollständig sichtbar ist, wenn sie sich öffnet.

Stellen Sie die disableAutoPan Eigenschaft auf false, wenn das Infofenster zu schaffen, es zu verhindern, dass die Karte Neupositionierung:

var infowindow = new google.maps.InfoWindow({ 
    content: contentString, 
    disableAutoPan: false 
}); 
+0

Das hat den Trick gemacht. Ich hätte das nie entdeckt! Danke in der Tat. – Joeblackdev

Verwandte Themen