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 ::
Google Maps API - Text bei Markern ergänzen
moderiert von:
Steffen
Google Maps API - Text bei Markern ergänzen |
||
|---|---|---|
| wkc_r4pt0r | verfasst: 03.10.2007, 14:31 | |
Neu hier
registriert: Okt. 2007
Beiträge: 1
Status: offline letzter Besuch: 03.10.07 |
Hallo zusammen, ich habe gerade per Zufall euer Forum entdeckt und hoffe ihr könnt mir helfen: Ich habe mit google map API folgende Seite erstellt: http://www.waelderbau.com/googlemap_at.html Das Ganze hat auch bisher ganz gut funktioniert. Ich lese die Orte aus einer Textdatei "plz.txt" aus und lasse die Koordinaten in eine *.json ausgeben und erstelle damit Marker. [code=text]#!C:/Programme/Perl/bin/perl.exe -W use LWP::Simple; # $key ist der API-Key, den man sich bei google für seine Domain besorgt hat my $key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'; open(PLZ, '<', 'plz.txt') or die("Input file not found!"); open(COORDS, '>', 'gcoords.json'); print COORDS "{ \"coords\": [\n"; while(<PLZ>) { chomp; $query = join('+', split(/\s/)); $res = get('http://maps.google.de/maps/geo?q='. $query .'&output=csv&key='.$key); @csv = split(/,/,$res); if($csv[0] == 200) { print COORDS "{ \"lat\": $csv[2], \"lng\": $csv[3] },\n"; } else { print "no match: $_\n"; } } close(PLZ); print COORDS "]\n}"; close(COORDS); exit;[/code] Die HTML Seite ist folgendermaßen aufgebaut: [code=text]<!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 JavaScript API Example</title> var map = null; var geocoder = null; var bounds = null; function initialize() { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("map_canvas")); map.setCenter(new GLatLng(0, 0), 0); map.addControl(new GSmallMapControl()); bounds = new GLatLngBounds(); geocoder = new GClientGeocoder(); GDownloadUrl("gcoords.json", addCoords); } } function showAddress(address) { if (geocoder) { geocoder.getLatLng( address, function(point) { if (!point) { alert(address + " not found"); } else { map.setCenter(point, 10); } } ); } } function addCoords(json) { json = eval('(' + json + ')'); for(var i=0; i<json.coords.length; i++) { var point = new GLatLng(json.coords[i].lat, json.coords[i].lng); map.addOverlay(new GMarker(point)); bounds.extend(point); } map.setZoom(map.getBoundsZoomLevel(bounds)); map.setCenter(bounds.getCenter()); } </head> <body onload="initialize()" onunload="GUnload()"> <form action="#" onsubmit="showAddress(this.address.value); return false"> <input type="text" size="60" name="address" value="" /> <input type="submit" value="Adresse anzeigen!" /> </form> </body> </html>[/code]Nun möchte ich bei den Markern noch einen Text ergänzen (eine 1-2 stellige Zahl). Gibt es eine Möglichkeit, diese schon in er plz.txt anzugeben? zB so: [code=text]Bezau; 5 Alberschwende; 10 Schwarzenberg; 7[/code] 2. den Zoomfaktor beschränken - ich möchte, dass nur soweit gezoomt werden kann, dass die Ortsnamen zu sehen sind - nicht die Straßenbezeichnungen. Wenn das möglich wäre, dann wäre das Ding perfekt. danke - Schöne Grüße wkc_r4pt0r editiert von: wkc_r4pt0r, 03.10.2007, 01:34 Uhr |
|
|
|
|
|
User online:
Diese Angaben basieren auf den Useraktivitäten der letzten 10 Minuten