Die deutsche Google Maps Community.
Die Möglichkeiten sind da!
Forum Suche | Forum Übersicht | Anmerkung: registrierte Benutzer können sich über neue Einträge benachrichtigen lassen | Anmerkung: registrierte Benutzer können sich über neue Einträge benachrichtigen lassen
Übersicht ::
Google Maps API ::
Google Maps API ::
Suchfunktion mit Ausgabe von Markern aus der Datenbank
moderiert von:
Steffen
Suchfunktion mit Ausgabe von Markern aus der Datenbank |
||
|---|---|---|
| individual85 | verfasst: 10.03.2010, 16:26 | |
Häufiger hier
registriert: Feb. 2010
Beiträge: 11
Status: offline letzter Besuch: 17.03.10 |
Hallo, ich habe mir eine Map angelegt, deren Daten aus einer Datenbank kommen und als Marker angezeigt werden. Zusätzlich habe ich noch eine Suchfunktion eingebaut. Die Marker werden alle problemlos aus der Datenbank geladen und angezeigt. Wenn ich aber jetzt nach einem Ort suche, der sich in der Nähe der Marker befindet, dann werden die Marker nicht mehr angezeigt. Wie kann ich dieses Problem beseitigen? Vielleicht müsste die Datenbankabfrage mit in die "function showAddress"? Leider habe ich es nicht hinbekommen. Ich würde mich über jede Hilfe freuen. Hier ist mein Quelltext: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Google Maps AJAX + MySQL/PHP Example</title> //<![CDATA[ var iconBlue = new GIcon(); iconBlue.image = 'http://labs.google.com/ri...images/mm_20_blue.png'; iconBlue.shadow = 'http://labs.google.com/ri...ages/mm_20_shadow.png'; iconBlue.iconSize = new GSize(12, 20); iconBlue.shadowSize = new GSize(22, 20); iconBlue.iconAnchor = new GPoint(6, 20); iconBlue.infoWindowAnchor = new GPoint(5, 1); var iconRed = new GIcon(); iconRed.image = 'http://labs.google.com/ri.../images/mm_20_red.png'; iconRed.shadow = 'http://labs.google.com/ri...ages/mm_20_shadow.png'; iconRed.iconSize = new GSize(12, 20); iconRed.shadowSize = new GSize(22, 20); iconRed.iconAnchor = new GPoint(6, 20); iconRed.infoWindowAnchor = new GPoint(5, 1); var customIcons = []; customIcons["restaurant"] = iconBlue; customIcons["bar"] = iconRed; function load() { if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map")); map.addControl(new GSmallMapControl()); map.addControl(new GMapTypeControl()); map.setCenter(new GLatLng(47.614495, -122.341861), 13); GDownloadUrl("php/phpsqlajax_genxml2.php", function(data) { var xml = GXml.parse(data); var markers = xml.documentElement.getElementsByTagName("marker"); var bounds = map.getBounds(); map.clearOverlays(); for (var i = 0; i < markers.length; i++) { var name = markers[i].getAttribute("name"); var address = markers[i].getAttribute("address"); var type = markers[i].getAttribute("type"); var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng"))); var marker = createMarker(point, name, address, type); map.addOverlay(marker); } }); } } function showAddress(address) { var map = new GMap2(document.getElementById("map")); var geocoder = new GClientGeocoder(); geocoder.getLatLng( address, function(point) { if (!point) { alert(address + " not found"); } else { map.setCenter(point, 13); } } ); } function createMarker(point, name, address, type) { var marker = new GMarker(point, customIcons[type]); var html = "" + name + "<\/b> " + address; GEvent.addListener(marker, 'click', function() { marker.openInfoWindowHtml(html); }); return marker; } //]]> </head> <body onload="load()" onunload="GUnload()"> <form action="#" onsubmit="showAddress(this.address.value); return false">
</form> </body> </html> |
|
|
|
|
|
| individual85 | verfasst: 11.03.2010, 12:25 | |
Häufiger hier
registriert: Feb. 2010
Beiträge: 11
Status: offline letzter Besuch: 17.03.10 |
Das Problem ist jetzt erstmal gelöst. Ich habe die Datenbankabfrage mit in die Funktion showAddress eingebaut. editiert von: individual85, 10.03.2010, 23:26 Uhr |
|
|
|
|
|
User online:
Diese Angaben basieren auf den Useraktivitäten der letzten 10 Minuten