Hallo liebe Leute und zunächst ein frohes und gesundes Jahr euch allen! 
Ich möchte auf meiner Seite eine Google-Karte einbinden, auf der per Marker/Pin Adressen angezeigt werden. Für eine Adresse ist das gar kein Problem, aber wie bekomme ich mehrere Marker dynamisch angezeigt? Man kann ja mehrere Marker fest in den Code schreiben, in meinem Fall müssten die allerdings dynamisch geladen werden.
Ich benutze für die Website Wordpress und speichere die Koordinaten in Custom Fields.
So sieht mein bisheriger Code aus:
Die Koordinaten werden per
aus den Custom Fields geladen. Bei einer Adresse kein Problem, bei mehreren wird weiterhin nur ein Marker angezeigt.
Nun ist es so, dass auf manchen Unterseiten der Website mal 5 Adressen, auf anderen Unterseiten 10 Adressen per Custom Fields angezeigt werden. Ich hätt auf jeder dieser Unterseiten gern eine Google-Karte mit der entsprechenden Anzahl an Markern.
Habt ihr eine Lösung für dieses Problem?
Vielen Dank schon im Voraus für eure Hilfe und einen guten Start in die Woche

Ich möchte auf meiner Seite eine Google-Karte einbinden, auf der per Marker/Pin Adressen angezeigt werden. Für eine Adresse ist das gar kein Problem, aber wie bekomme ich mehrere Marker dynamisch angezeigt? Man kann ja mehrere Marker fest in den Code schreiben, in meinem Fall müssten die allerdings dynamisch geladen werden.
Ich benutze für die Website Wordpress und speichere die Koordinaten in Custom Fields.
So sieht mein bisheriger Code aus:
Code:
<script type="text/javascript">
function initialize() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map_canvas"));
<?php/* Ausgangsdaten konfigurieren: Längen und Breitenangabe des Karten-Mittelpunktes; Zoomfaktor, Kartentyp (G_NORMAL_MAP, G_HYBRID_MAP, G_SATELLITE_MAP)*/?>
map.setCenter(new GLatLng(<?php echo get_post_meta($post->ID, 'lat', true); ?>, <?php echo get_post_meta($post->ID, 'lng', true); ?>), 13, G_NORMAL_MAP);
function createMarker(point,html) {
var marker = new GMarker(point);
<?php/*Tooltip beim Klick auf den Marker anzeigen oder nicht*/?>
GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(html);
});
return marker;
}
<?php/* Standort Anfang*/?>
var point = new GLatLng(<?php echo get_post_meta($post->ID, 'lat', true); ?>, <?php echo get_post_meta($post->ID, 'lng', true); ?>);
var marker = createMarker(point,'<?php echo get_post_meta($post->ID, 'store', true); ?><br><?php echo get_post_meta($post->ID, 'street', true); ?><br><?php echo get_post_meta($post->ID, 'zip', true); ?> <?php echo get_post_meta($post->ID, 'locality', true); ?>')
map.addOverlay(marker);
<?php/* Standort Ende*/?>
<?php/* Standort Anfang*/?>
var point = new GLatLng(<?php echo get_post_meta($post->ID, 'lat', true); ?>, <?php echo get_post_meta($post->ID, 'lng', true); ?>);
var marker = createMarker(point,'<?php echo get_post_meta($post->ID, 'store', true); ?><br><?php echo get_post_meta($post->ID, 'street', true); ?><br><?php echo get_post_meta($post->ID, 'zip', true); ?> <?php echo get_post_meta($post->ID, 'locality', true); ?>')
map.addOverlay(marker);
<?php/* Standort Ende*/?>
<?php/* Standort Anfang*/?>
var point = new GLatLng(<?php echo get_post_meta($post->ID, 'lat', true); ?>, <?php echo get_post_meta($post->ID, 'lng', true); ?>);
var marker = createMarker(point,'<?php echo get_post_meta($post->ID, 'store', true); ?><br><?php echo get_post_meta($post->ID, 'street', true); ?><br><?php echo get_post_meta($post->ID, 'zip', true); ?> <?php echo get_post_meta($post->ID, 'locality', true); ?>')
map.addOverlay(marker);
<?php/* Standort Ende*/?>
<?php/* Standort Anfang*/?>
var point = new GLatLng(<?php echo get_post_meta($post->ID, 'lat', true); ?>, <?php echo get_post_meta($post->ID, 'lng', true); ?>);
var marker = createMarker(point,'<?php echo get_post_meta($post->ID, 'store', true); ?><br><?php echo get_post_meta($post->ID, 'street', true); ?><br><?php echo get_post_meta($post->ID, 'zip', true); ?> <?php echo get_post_meta($post->ID, 'locality', true); ?>')
map.addOverlay(marker);
<?php/* Standort Ende*/?>
<?php/* Standort Anfang*/?>
var point = new GLatLng(<?php echo get_post_meta($post->ID, 'lat', true); ?>, <?php echo get_post_meta($post->ID, 'lng', true); ?>);
var marker = createMarker(point,'<?php echo get_post_meta($post->ID, 'store', true); ?><br><?php echo get_post_meta($post->ID, 'street', true); ?><br><?php echo get_post_meta($post->ID, 'zip', true); ?> <?php echo get_post_meta($post->ID, 'locality', true); ?>')
map.addOverlay(marker);
<?php/* Standort Ende*/?>
<?php/* Navigationselemente einblenden*/?>
map.addControl(new GSmallMapControl());
<?php/* Kartentypen einblenden*/?>
map.addControl(new GMapTypeControl());
<?php/* Maßstab einblenden*/?>
map.addControl(new GScaleControl());
<?php/* Mouse Zoom aktivieren*/?>
map.enableScrollWheelZoom(); map.enableContinuousZoom();
}
}
</script>
Die Koordinaten werden per
Code:
<?php echo get_post_meta($post->ID, 'lat', true); ?>, <?php echo get_post_meta($post->ID, 'lng', true); ?>
aus den Custom Fields geladen. Bei einer Adresse kein Problem, bei mehreren wird weiterhin nur ein Marker angezeigt.
Nun ist es so, dass auf manchen Unterseiten der Website mal 5 Adressen, auf anderen Unterseiten 10 Adressen per Custom Fields angezeigt werden. Ich hätt auf jeder dieser Unterseiten gern eine Google-Karte mit der entsprechenden Anzahl an Markern.
Habt ihr eine Lösung für dieses Problem?
Vielen Dank schon im Voraus für eure Hilfe und einen guten Start in die Woche
