Google-Maps - Karte neu laden
Ich habe den folgenden code setup anwenden eine Karte für eine Vielzahl von Bereichen
var locations = [
['Liver Office - Liverpool Office', 53.40529, -2.988801, 1],
['Lond office - London Office', 51.515026, -0.086811, 2],
];
function plotMap(loc) {
var mapOptions = {
zoom: 17,
center: new google.maps.LatLng((locations[loc][1]), (locations[loc][2])),
stylers: [
{ saturation: -100 } //<-- THIS
]
};
var map = new google.maps.Map(document.getElementById('map'),
mapOptions);
var marker = new google.maps.Marker({
position: map.getCenter(),
map: map,
mapTypeControlOptions: {
mapTypeIds: [google.maps.MapTypeId.ROADMAP, 'tehgrayz']
},
icon: 'marketICO.png',
title: (locations[loc][0])
});
var infowindow = new google.maps.InfoWindow();
google.maps.event.addListener(marker, 'click', (function(marker) {
return function() {
infowindow.setContent(locations[loc][0]);
infowindow.open(map, marker);
}
})(marker, loc));
}
$('.livLink').click(function(){
plotMap(0);
});
$('.lonLink').click(function(){
plotMap(1);
});
plotMap(0);
Bezüglich nachladen der Karte - im moment ist das obige Skript wird ausgelöst durch 2 tab-Tasten - wenn eine map geladen wird und der zweite button angeklickt wird das Skript erneut ausgeführt und ersetzt die vorhandene Karte - ich bin mir nur denken, dass der Speicher Probleme - sollte die erste Karte Instanz gestoppt werden, vor dem laden eine zweite?
- Möglich, Duplikat der manuelles reload von Google Map mit JavaScript
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie erstellen, die 2 map-Instanzen (
map1
undmap2
zum Beispiel).Initialisieren Sie die beiden Karten auf Dokument bereit (oder ein anderes Ereignis-und trigger-eine Karte der Größe, wenn Wechsel von Tab.
google.maps.event.trigger(map, 'resize');
Ersetzen
map
durch die entsprechende map-Objekt (entspricht der Karte auf der Registerkarte Karte).Wenn Sie denken, Gedächtnis Probleme(und auch wenn nicht) ist es besser, zu re-verwenden Sie die Map-Instanz(siehe: "Fehler: Zerstören Google Map Instanz Nie Befreit Memory)