Google Maps API und Umkreissuche

Fragen zu den Grundfunktionen der webEdition Oberfläche wie Backup, Import, ...
Fragen zu we:Tags bitte im Forum "Templates erstellen"
mobby
Senior Member
Beiträge: 1164
Registriert: Do 1. Sep 2005, 05:07

Google Maps API und Umkreissuche

Beitragvon mobby » Mi 24. Jun 2009, 16:06

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.
Viele Grüße
Mobby

webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)

Liquid
Senior Member
Beiträge: 1172
Registriert: Do 8. Jan 2004, 12:31
Wohnort: Karlsruhe

Re: Google Maps API und Umkreissuche

Beitragvon Liquid » Mi 24. Jun 2009, 16:38

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/
Gruß Liquid

we:willRockYou
Senior Member
Beiträge: 919
Registriert: Fr 22. Mai 2009, 21:40
Wohnort: Berlin
Kontaktdaten:

Re: Google Maps API und Umkreissuche

Beitragvon we:willRockYou » Mi 24. Jun 2009, 16:39

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.
EOF; //totally retired

we:willRockYou
Senior Member
Beiträge: 919
Registriert: Fr 22. Mai 2009, 21:40
Wohnort: Berlin
Kontaktdaten:

Re: Google Maps API und Umkreissuche

Beitragvon we:willRockYou » Mi 24. Jun 2009, 16:46

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/
Der Preis hats wirklich in sich. ;)

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

MarS
Senior Member
Beiträge: 602
Registriert: Mo 2. Mai 2005, 11:30
Wohnort: Kiel
Kontaktdaten:

Re: Google Maps API und Umkreissuche

Beitragvon MarS » Mi 24. Jun 2009, 17:16

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

mobby
Senior Member
Beiträge: 1164
Registriert: Do 1. Sep 2005, 05:07

Re: Google Maps API und Umkreissuche

Beitragvon mobby » Mi 24. Jun 2009, 17:17

Moin,
Liquid hat geschrieben:Hi Mobby,

was genau meinst du mit "deine Anschrift" ?!
Genau meine ich "eine". Hatte ein d zuviel.
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
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 ist
Viele Grüße
Mobby

webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)

Liquid
Senior Member
Beiträge: 1172
Registriert: Do 8. Jan 2004, 12:31
Wohnort: Karlsruhe

Re: Google Maps API und Umkreissuche

Beitragvon Liquid » Do 25. Jun 2009, 09:05

Morgen Mobby,

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>
Im Template:

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>
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
Gruß Liquid

Liquid
Senior Member
Beiträge: 1172
Registriert: Do 8. Jan 2004, 12:31
Wohnort: Karlsruhe

Re: Google Maps API und Umkreissuche

Beitragvon Liquid » Do 25. Jun 2009, 09:10

we:willRockYou hat geschrieben:Bin mir recht unsicher bzgl. der Genauigkeit der Daten.
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 kann :wink:
ICh hatte auch noch einen günstigeren Anbieter als geokontor, allerdings find ich den Link gerade nicht :roll:
Gruß Liquid

we:willRockYou
Senior Member
Beiträge: 919
Registriert: Fr 22. Mai 2009, 21:40
Wohnort: Berlin
Kontaktdaten:

Re: Google Maps API und Umkreissuche

Beitragvon we:willRockYou » Do 25. Jun 2009, 09:27

Liquid hat geschrieben:Was (noch) nicht geht ist zoomen mit dem Mausrad.
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. ;)

Dennoch, so aktiviert man die Funktion:

Code: Alles auswählen

map.enableScrollWheelZoom();
EOF; //totally retired

Liquid
Senior Member
Beiträge: 1172
Registriert: Do 8. Jan 2004, 12:31
Wohnort: Karlsruhe

Re: Google Maps API und Umkreissuche

Beitragvon Liquid » Do 25. Jun 2009, 09:36

Doch so kompliziert :oops:
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

mobby
Senior Member
Beiträge: 1164
Registriert: Do 1. Sep 2005, 05:07

Re: Google Maps API und Umkreissuche

Beitragvon mobby » So 28. Jun 2009, 21:48

Moin,
Liquid hat geschrieben:Morgen Mobby,

anbei mal der Code:
...
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?
Viele Grüße
Mobby

webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)

Liquid
Senior Member
Beiträge: 1172
Registriert: Do 8. Jan 2004, 12:31
Wohnort: Karlsruhe

Re: Google Maps API und Umkreissuche

Beitragvon Liquid » Mo 29. Jun 2009, 09:39

Mion Mobby,

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

mobby
Senior Member
Beiträge: 1164
Registriert: Do 1. Sep 2005, 05:07

Re: Google Maps API und Umkreissuche

Beitragvon mobby » Fr 17. Jul 2009, 14:26

Moin,
Liquid hat geschrieben: 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>
Im Template:

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>
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 angezeigt
Viele Grüße
Mobby

webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)

we:willRockYou
Senior Member
Beiträge: 919
Registriert: Fr 22. Mai 2009, 21:40
Wohnort: Berlin
Kontaktdaten:

Re: Google Maps API und Umkreissuche

Beitragvon we:willRockYou » Fr 17. Jul 2009, 14:51

Gleich am Anfang der Datei mischst Du JS- und PHP-Code
EOF; //totally retired

mobby
Senior Member
Beiträge: 1164
Registriert: Do 1. Sep 2005, 05:07

Re: Google Maps API und Umkreissuche

Beitragvon mobby » Fr 17. Jul 2009, 15:15

Ja ok. Was ich aber nicht verstehe, wieso

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 = "";
im Head steht und wie dort die Adresse aus einem Objekt rein soll.
Viele Grüße
Mobby

webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)


Zurück zu „Basisversion“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste