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 ::
Saum erstellen bei maximaler Zoomstufe für mehrere Marker
moderiert von:
Steffen
Saum erstellen bei maximaler Zoomstufe für mehrere Marker |
||
|---|---|---|
| christiansikora | verfasst: 23.08.2007, 16:06 | |
Neu hier
registriert: Aug. 2007
Beiträge: 2
Status: offline letzter Besuch: 06.09.07 |
Hallo Als erstes möchte ich mich natürlich vorstellen. Ich bin der Christian,Student (Geoinformatik) und bastel mir zur Zeit eines kleines Gis auf der Basis von GoogleMaps. Nach langem hin und her mit JAVA und API bin ich nun an einer Stelle angelangt, an der ich Eure Hilfe brauche.Auch wenn es eher eine Frage der schöneren Visualisierung ist. SOOO, aber jetzt zum eigentlichen Problem. Ich lade mir aus einer Datenbank, je nach Abfrage die Koordinaten für bestimmte Punkte heraus, die dann dargestellt werden. Mit der GLatLngBounds Funktion, also festlegen der Grenzen, maximale Zoomstufe und Center der Karte, wird alles schön passend dargestellt. Leider komme ich aber bei manchen Abfragen, in Regionen, an denen für die berechnete Zoomstufe kein Karten, oder Bildmaterial vorhanden ist. Aus anderen GIS-SYSTEMEN ist mir eine Funktion "Saum" bekannt, mit der ich eine Art Rahmen ( in der Breite definierbar )erstellen lässt. Ist vielleicht jemandem bekannt, ob eine ähnliche Funktion bereits besteht? var point = new GLatLng(lat,lng); // create the marker var marker = createMarker(point,label,HTML,...usw.); map.addOverlay(marker); // ==== sobald ein neuer Punkt gefunden wird, wird der Grenzbereich erweitert ===== bounds.extend(point); } // ===== bestimmt das zoom level aus den Grenzen ===== map.setZoom(map.getBoundsZoomLevel(bounds)[color=red]-4[/color]); // zusaetzlich soll die karte auch noch optimal zentriert werden var clat = (bounds.getNorthEast().lat() + bounds.getSouthWest().lat()) /2; var clng = (bounds.getNorthEast().lng() + bounds.getSouthWest().lng()) /2; map.setCenter(new GLatLng(clat,clng)); Die [color=red]-4[/color] gibt mir zwar die Möglichkeit, die berechnete Zoomstufe um den jeweiligen Zahlenwert zu reduzieren, aber das ist meiner Meinung nach nicht der optimale Weg. Würde lieber sagen, [color=red](setze einen Saum von 20km )[/color] . Für Tips und Ratschläge bin ich sehr dankbar! Gruß Christian |
|
|
|
|
|
User online:
Diese Angaben basieren auf den Useraktivitäten der letzten 10 Minuten