Google Maps API und Umkreissuche
Google Maps API und Umkreissuche
Moin zusammen,
hat jemand schon mit we eine Seite entwickelt, auf dem eine Google maps eingebunden ist, wo automatisch deine Anschrift markiert ist? Ebenfalls bin ich auch der Suche nach einer Lösung, wie man am besten eine Umkreissuche hinbekommt.
hat jemand schon mit we eine Seite entwickelt, auf dem eine Google maps eingebunden ist, wo automatisch deine Anschrift markiert ist? Ebenfalls bin ich auch der Suche nach einer Lösung, wie man am besten eine Umkreissuche hinbekommt.
Viele Grüße
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Re: Google Maps API und Umkreissuche
Hi Mobby,
was genau meinst du mit "deine Anschrift" ?!
Ich habe bei uns auf der Seite ne google Map drin, bei der ich die Markierung mit den (in einem Objekt hinterlegten) Adressdaten baue.
Die Markierung erfolgt auf Basis der Adresse und nicht geocodiert in Form von Längen- und Breitenangeben, was aber bisher super und auch genau funktioniert.
Wenns dir hilft kann ich dir den nötigen Code gerne posten
Mit der Umkreissuche ist es etwas schwieriger, je nach dem ob du PLZ oder Straßen suchen willst.
Gibt im Netzt einige Skripte welche die nötigen Berechnungen machen, bei mir scheiterte es am Unwillen eine Sündhaft teure DB mit Geodaten für PLZ zu bestellen. Sowas bekommst du z.B. hier http://www.geokontor.com/component/page ... /vmcchk,1/
was genau meinst du mit "deine Anschrift" ?!
Ich habe bei uns auf der Seite ne google Map drin, bei der ich die Markierung mit den (in einem Objekt hinterlegten) Adressdaten baue.
Die Markierung erfolgt auf Basis der Adresse und nicht geocodiert in Form von Längen- und Breitenangeben, was aber bisher super und auch genau funktioniert.
Wenns dir hilft kann ich dir den nötigen Code gerne posten
Mit der Umkreissuche ist es etwas schwieriger, je nach dem ob du PLZ oder Straßen suchen willst.
Gibt im Netzt einige Skripte welche die nötigen Berechnungen machen, bei mir scheiterte es am Unwillen eine Sündhaft teure DB mit Geodaten für PLZ zu bestellen. Sowas bekommst du z.B. hier http://www.geokontor.com/component/page ... /vmcchk,1/
Gruß Liquid
-
- Senior Member
- Beiträge: 919
- Registriert: Fr 22. Mai 2009, 21:40
- Wohnort: Berlin
- Kontaktdaten:
Re: Google Maps API und Umkreissuche
Hi mobby,
was meinst Du mit "automatisch Anschrift markiert"? Einfach sowas? -> http://tiny.cc/ws34F
Und mit Umkreissuche, meinst Du eine richtige Suche von definierten Markern in einer entsprechenden Entfernung? Oder einfach ein "in der Nähe suchen" wie hier im Reiter "Route": http://tiny.cc/uhQat
Je nachdem, wie viele "Orte" es gibt, kann das mit gMaps recht schnell keinen Sinn machen. Denn sämtliche Daten müssten zuerst mal an den Client übertragen werden, dann über die API in die Karten eingetragen werden. Erst dann könnte man die Entfernung zwischen den Punkten ermitteln.
Sofern die Koordinaten zu den Punkten in der DB vorliegen, kannst Du die Entfernung auch mit einer einfachen Formel selbst berechnen. Oder eher die Formel in eine SQL-Abfrage einbauen.
Ich würde das auf jeden Fall empfehlen. Wenn Du die Koordinaten nicht hast, kannst du diese ja auch einmalig über den Geocoder von gMaps errechnen lassen. Du könntest das sogar automatisieren. Per Hook den Geocoder mit der Adresse füttern und die Koordinaten speichern.
was meinst Du mit "automatisch Anschrift markiert"? Einfach sowas? -> http://tiny.cc/ws34F
Und mit Umkreissuche, meinst Du eine richtige Suche von definierten Markern in einer entsprechenden Entfernung? Oder einfach ein "in der Nähe suchen" wie hier im Reiter "Route": http://tiny.cc/uhQat
Je nachdem, wie viele "Orte" es gibt, kann das mit gMaps recht schnell keinen Sinn machen. Denn sämtliche Daten müssten zuerst mal an den Client übertragen werden, dann über die API in die Karten eingetragen werden. Erst dann könnte man die Entfernung zwischen den Punkten ermitteln.
Sofern die Koordinaten zu den Punkten in der DB vorliegen, kannst Du die Entfernung auch mit einer einfachen Formel selbst berechnen. Oder eher die Formel in eine SQL-Abfrage einbauen.
Ich würde das auf jeden Fall empfehlen. Wenn Du die Koordinaten nicht hast, kannst du diese ja auch einmalig über den Geocoder von gMaps errechnen lassen. Du könntest das sogar automatisieren. Per Hook den Geocoder mit der Adresse füttern und die Koordinaten speichern.
EOF; //totally retired
-
- Senior Member
- Beiträge: 919
- Registriert: Fr 22. Mai 2009, 21:40
- Wohnort: Berlin
- Kontaktdaten:
Re: Google Maps API und Umkreissuche
Der Preis hats wirklich in sich.Liquid hat geschrieben:bei mir scheiterte es am Unwillen eine Sündhaft teure DB mit Geodaten für PLZ zu bestellen. Sowas bekommst du z.B. hier http://www.geokontor.com/component/page ... /vmcchk,1/
![Wink ;)](./images/smilies/icon_e_wink.gif)
Auf koordinaten.de gibts das ganze etwas günstiger. Dafür nur einmalig pro Projekt verwendbar. Dreht sich so pro Land um die 550€.
OpenGeoDB kennst Du? Ist kostenlos. Habe ich selbst aber auch noch nicht ausprobiert. Bin mir recht unsicher bzgl. der Genauigkeit der Daten.
Für 100USD bekommt man hier aber auch Daten: http://www.geodatas.net/download.asp Aber auch das hab ich noch nicht ausprobiert. Die Post bietet meines Wissens nach auch noch Geo-Daten an, aber mit monatlicher Gebühr, so um die 30€.
Aber wie gesagt, man kann die Daten auch direkt über den Geocoder von Google ermitteln lassen. Wenn einem die Genauigkeit da reicht.
EOF; //totally retired
Re: Google Maps API und Umkreissuche
Wir nutzen für umfangreichere Google-Maps Projekte die GoogleMapAPI-Class, zu finden unter http://www.phpinsider.com/php/code/GoogleMapAPI/
Die hat den Vorteil, dass die Auflösung von Adressen zu Koordinaten zwischengespeichert wird und bietet eine Funktion [geoGetDistance()] zur Distanz-Berechnung an.
Damit kann man auch relativ einfach für jede Position andere Marker nutzen, um z.B. die eigene Adresse hervorzuheben.
Gruß, Martin
Die hat den Vorteil, dass die Auflösung von Adressen zu Koordinaten zwischengespeichert wird und bietet eine Funktion [geoGetDistance()] zur Distanz-Berechnung an.
Damit kann man auch relativ einfach für jede Position andere Marker nutzen, um z.B. die eigene Adresse hervorzuheben.
Gruß, Martin
Re: Google Maps API und Umkreissuche
Moin,
Genau meine ich "eine". Hatte ein d zuviel.Liquid hat geschrieben:Hi Mobby,
was genau meinst du mit "deine Anschrift" ?!
Hört sich gut an. Was ich vor habe ist ein Verzeichnis. Es soll Objekte geben, in denen halt auch die Adresse von einer Firma drin steht. Auf der Webseite soll dan das Objekt ausgegeben werden und halt eine kleine Maps mit dem Punkt, wo die Firma istIch habe bei uns auf der Seite ne google Map drin, bei der ich die Markierung mit den (in einem Objekt hinterlegten) Adressdaten baue.
Die Markierung erfolgt auf Basis der Adresse und nicht geocodiert in Form von Längen- und Breitenangeben, was aber bisher super und auch genau funktioniert.
Wenns dir hilft kann ich dir den nötigen Code gerne posten
Viele Grüße
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Re: Google Maps API und Umkreissuche
Morgen Mobby,
anbei mal der Code:
Im Head der Seite:
Im Template:
Die Karte ist mit den Steuerelementen zum Zoomen und Navigieren und den Optionen karte, Satellit und Hybrid.
Was (noch) nicht geht ist zoomen mit dem Mausrad.
Ein Beispiel wie es fertig aussieht findest du hier:
http://www.daysie.de/themenwelten/direk ... rektID=737
anbei mal der Code:
Im Head der Seite:
Code: Alles auswählen
//$adresse wird aus inputs im Objekt zusammengebaut.
$adresse = "";
//$info_text sind die Infos die in der Blase über der Markierung erscheinen, bei mir Adresse,Telefon, Fax und zusätzlich der Link "Route hierher planen" mit Verweis auf die http://maps.google.de Seite
$info_text = "";
<script src="http://maps.google.com/maps?file=api&v=2&key=API_KEY&hl=de" type="text/javascript"></script>
<script type="text/javascript">
var map = null;
var geocoder = null;
function initialize() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(8.38583, 49.0047), 13);
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
geocoder = new GClientGeocoder();
}
}
function showAddress(address) {
if (geocoder) {
geocoder.getLatLng(
address,
function(point) {
if (!point) {
alert(address + " Leider nicht gefunden");
} else {
map.setCenter(point, 15);
var marker = new GMarker(point);
map.addOverlay(marker);
marker.openInfoWindowHtml('<?php echo $info_text; ?>');
}
}
);
}
}
</script>
Code: Alles auswählen
<form action="#" >
<div id="map_canvas" style="width: 500px; height: 500px;margin-left:10px;"></div>
</form>
<script type="text/javascript">
window.onload = function(){initialize();showAddress('<?php echo $adresse; ?>')};
window.onunload = GUnload;
</script>
Was (noch) nicht geht ist zoomen mit dem Mausrad.
Ein Beispiel wie es fertig aussieht findest du hier:
http://www.daysie.de/themenwelten/direk ... rektID=737
Gruß Liquid
Re: Google Maps API und Umkreissuche
Das ist auch mein großes Problem und es ist sehr schwer zu verifizieren, kauf ich die Daten habe ich jemanden den ich in die Verantwortung nehmen kannwe:willRockYou hat geschrieben:Bin mir recht unsicher bzgl. der Genauigkeit der Daten.
![Wink :wink:](./images/smilies/icon_e_wink.gif)
ICh hatte auch noch einen günstigeren Anbieter als geokontor, allerdings find ich den Link gerade nicht
![Rolling Eyes :roll:](./images/smilies/icon_rolleyes.gif)
Gruß Liquid
-
- Senior Member
- Beiträge: 919
- Registriert: Fr 22. Mai 2009, 21:40
- Wohnort: Berlin
- Kontaktdaten:
Re: Google Maps API und Umkreissuche
Was ich auf Inhaltsseiten auch nicht sehr gut finde. Ich hatte die Funktion bei meinen Karten früher immer drin, aber es nervt gewaltig wenn man nach unten scrollen will und plötzlich bleibt man hängen und in dem total uninteressanten Kartending fängt was an zu zoomen.Liquid hat geschrieben:Was (noch) nicht geht ist zoomen mit dem Mausrad.
![Wink ;)](./images/smilies/icon_e_wink.gif)
Dennoch, so aktiviert man die Funktion:
Code: Alles auswählen
map.enableScrollWheelZoom();
EOF; //totally retired
Re: Google Maps API und Umkreissuche
Doch so kompliziert
THX.
Geb dir aber Recht wenn man am scrollen ist und an der Karte hängen bleibt ist das Schmuh.
Aber dadurch dass man bei uns eh schon am Ende der Seite ist fällt das hoffentlich nicht so (negativ) ins Gewicht.
![Embarassed :oops:](./images/smilies/icon_redface.gif)
THX.
Geb dir aber Recht wenn man am scrollen ist und an der Karte hängen bleibt ist das Schmuh.
Aber dadurch dass man bei uns eh schon am Ende der Seite ist fällt das hoffentlich nicht so (negativ) ins Gewicht.
Gruß Liquid
Re: Google Maps API und Umkreissuche
Moin,
Vielen Dank. Wie bekommt man aber die Adresse rein? Welche Inputfelder gibt es denn in dem Objekt bzw. aus welchen Feldern zieht es sich die Daten für $adresse und $info_text zusammen?Liquid hat geschrieben:Morgen Mobby,
anbei mal der Code:
...
Viele Grüße
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Re: Google Maps API und Umkreissuche
Mion Mobby,
die Adresse generiert sich wie folgt:
die Adresse generiert sich wie folgt:
Code: Alles auswählen
$addresse = $Strasse.",".$PLZ." ".$Ort;
$info_text = "<span>."$Firma".</span><br /><br /><span>Formatierert Adressblock</span>";
Gruß Liquid
Re: Google Maps API und Umkreissuche
Moin,
Irgendwie komme ich nicht klar damit. Es wird immer ein Fehler arse error: syntax error, unexpected T_VARIABLE in /mnt/web7/13/35/51948835/htdocs/webEdition/we/templates/MasterTemplate/MasterGoogleKarte.php on line 60 angezeigtLiquid hat geschrieben: anbei mal der Code:
Im Head der Seite:Im Template:Code: Alles auswählen
//$adresse wird aus inputs im Objekt zusammengebaut. $adresse = ""; //$info_text sind die Infos die in der Blase über der Markierung erscheinen, bei mir Adresse,Telefon, Fax und zusätzlich der Link "Route hierher planen" mit Verweis auf die http://maps.google.de Seite $info_text = ""; <script src="http://maps.google.com/maps?file=api&v=2&key=API_KEY&hl=de" type="text/javascript"></script> <script type="text/javascript"> var map = null; var geocoder = null; function initialize() { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("map_canvas")); map.setCenter(new GLatLng(8.38583, 49.0047), 13); map.addControl(new GSmallMapControl()); map.addControl(new GMapTypeControl()); geocoder = new GClientGeocoder(); } } function showAddress(address) { if (geocoder) { geocoder.getLatLng( address, function(point) { if (!point) { alert(address + " Leider nicht gefunden"); } else { map.setCenter(point, 15); var marker = new GMarker(point); map.addOverlay(marker); marker.openInfoWindowHtml('<?php echo $info_text; ?>'); } } ); } } </script>
Code: Alles auswählen
<form action="#" > <div id="map_canvas" style="width: 500px; height: 500px;margin-left:10px;"></div> </form> <script type="text/javascript"> window.onload = function(){initialize();showAddress('<?php echo $adresse; ?>')}; window.onunload = GUnload; </script>
Viele Grüße
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
-
- Senior Member
- Beiträge: 919
- Registriert: Fr 22. Mai 2009, 21:40
- Wohnort: Berlin
- Kontaktdaten:
Re: Google Maps API und Umkreissuche
Gleich am Anfang der Datei mischst Du JS- und PHP-Code
EOF; //totally retired
Re: Google Maps API und Umkreissuche
Ja ok. Was ich aber nicht verstehe, wieso
im Head steht und wie dort die Adresse aus einem Objekt rein soll.
Code: Alles auswählen
//$adresse wird aus inputs im Objekt zusammengebaut.
$adresse = "";
//$info_text sind die Infos die in der Blase über der Markierung erscheinen, bei mir Adresse,Telefon, Fax und zusätzlich der Link "Route hierher planen" mit Verweis auf die http://maps.google.de Seite
$info_text = "";
Viele Grüße
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste