Hallo
Ich gebe auf einer Google Map folgenden Marker mit HTML info fenster aus
das klappt auch wunderbar.
Jetzt möchte ich jedoch mehrere Marker auf dieser karten platzieren.
die koordinaten für diese Marker stehen alle in einer MySQL.
Jetzt habe ich versucht den oben genannten Code einfach in einer Schleife auszugeben und den marker mit einer zählvariablen $i je nach datensätzen in der DB zu erhöhen.
also werden erst alle marker erstellt, sagen wir 100 stück und dann werden alle overlays mit den markern mit der for schleife ausgegeben.
der code ist nicht sehr schön. aber wo liegt das problem
danke
Ich gebe auf einer Google Map folgenden Marker mit HTML info fenster aus
Code:
function initialize() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map_canvas"));
map.addControl(new GLargeMapControl());
map.setCenter(new GLatLng(<?php echo $x . "," . $y; ?>), <?php echo $zoom; ?>);
var marker = new GMarker (new GLatLng(<?php echo $x . "," . $y; ?>));
GEvent.addListener (marker, "click", function () {
marker.openInfoWindowHtml ("html code");
});
map.addOverlay (marker);
das klappt auch wunderbar.
Jetzt möchte ich jedoch mehrere Marker auf dieser karten platzieren.
die koordinaten für diese Marker stehen alle in einer MySQL.
Jetzt habe ich versucht den oben genannten Code einfach in einer Schleife auszugeben und den marker mit einer zählvariablen $i je nach datensätzen in der DB zu erhöhen.
Code:
function initialize() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map_canvas"));
map.addControl(new GLargeMapControl());
map.setCenter(new GLatLng(<?php echo $x . "," . $y; ?>), <?php echo $zoom; ?>);
<?php
$alle_marker = mysql_query("SELECT * FROM $mysqltable");
$i = 1;
?>
while($koordinaten = mysql_fetch_array($alle_marker))
{
?>
var marker<?php echo $i; ?> = new GMarker (new GLatLng(<?php echo $koordinaten['x'] . "," . $koordinaten['y']; ?>));
GEvent.addListener (marker<?php echo $i; ?>, "click", function () {
marker<?php echo $i; ?>.openInfoWindowHtml ("HTML code");
});
<?php
$i++;
}
for($j=1;$j<$i;$j++)
{
?>
map.addOverlay (marker<?php echo $j; ?>);
<?php
}
also werden erst alle marker erstellt, sagen wir 100 stück und dann werden alle overlays mit den markern mit der for schleife ausgegeben.
der code ist nicht sehr schön. aber wo liegt das problem
danke