Boardunity & Video Forum

Boardunity & Video Forum (https://boardunity.de/)
-   Programmierung und Datenbanken (https://boardunity.de/programmierung-datenbanken-f23.html)
-   -   Google Maps einbinden (https://boardunity.de/google-maps-einbinden-t5517.html)

Morpheus_M84 19.12.2007 16:22

Google Maps einbinden
 
Hallo,

ich habe ein riesen Problem. Ich suche schon seit tagen im Netz nach einer Lösung aber ich finde keine.

Es geht um folgendes ich habe eine Datenbank wo die "Strasse", "PLZ", "Ort" von Objekten drinne stehen.

So ich möchte Google Maps so Integrien das er die Koordinaten des Objektes anhang dieser Daten ermittelt und mit dem Pin Platziert. Es soll auch nur immer ein Objekt angezeigt werden.

Ich finde nur leider immer Lösungen mit ORT und PLZ aber das ist zu ungenau für meine zwecke. Habt Ihr da ne Lösung?

edit: ich hab inzwischen eine gute Lösung gefunden: http://www.geo-maps.net :)

LonelyPixel 19.12.2007 17:10

Ich kenne diese Lösungen nicht im Detail, aber kann man Google Maps nicht nach einer Adresse suchen lassen? Statt „PLZ Ort“ gibst du dann halt „Straße, PLZ Ort“ an, so wie auf maps.google.de eben auch.

Zwirni 19.12.2007 18:49

Schau dir mal die GoogleMaps API an. Damit geht das. Beispiele sind in der umfangreichen Hilfe enthalten.

Morpheus_M84 20.12.2007 09:11

Man findet zwar gewisse sachen nur leider finde ich da kein beispiel. Und wenn ich mal sowas in der art gefunden habe scheint es nicht mit deutschen adressen zu gehen. Es muss doch irgend jemand schon mal hin bekommen haben sowas.

Zwirni 20.12.2007 09:24

Doch, das geht. Schau dir z.B. mal diese Seite im Quellcode an. Vielleicht fällt dir dann einiges auf.

Morpheus_M84 20.12.2007 10:58

Der Ansatz ist ja schon mal gut aber das geht auch ohne iframe und diereckt über die api ist das noch besser. Das muss doch irgend wie möglich sein

SebastianM 21.12.2007 11:55

Hi,

ich hab die API eingebaut und dann per JavaScript die Map in ein DIV Tag eingefügt.
Ich hab das über PHP in ein 2F-CMS Modul eingebaut, so dass man die Daten über die Einstellungen bequem ändern kann, aber im HTML kann man das auch fest so einbauen.

Der JavaScript Code sollte in den Header rein:
HTML-Code:

<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=[ACHTUNG-HIER-KOMMT-DER-KEY-HIN]"
    type="text/javascript">
</script>

     
<script type="text/javascript">


    //<![CDATA[

  var map = null;
    var geocoder = null;

    function load() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
        map.setCenter(new GLatLng(49.5519, 8.6562), 15);
        geocoder = new GClientGeocoder();
      }
    }
   
    function showAddress() { 
    var address = 'Mörikestraße 5, 69469 Weinheim, Deutschland';
   
    geocoder.getLatLng(   
      address,   
      function(point) {     
        if (!point) {       
          alert(address + " not found");
        }
        else {       
          map.setCenter(point, 16); 
          map.addControl(new GSmallMapControl());
          map.addControl(new GMapTypeControl());     
          var marker = new GMarker(point);       
          map.addOverlay(marker);       
          marker.openInfoWindowHtml('<p><strong>Firma IM-Concepts Weinheim</strong><br /><em>Webdesign, Online-Marketing, Online-Controlling</em></p><p>M&ouml;rikestra&szlig;e 5</p><p><strong>69469 Weinheim</strong></p><p>e-mail: <a href=\"mailto:[email protected]?subject=Anfrage%20an%20IM-Concepts\">Kontakt zu uns</a></p><p>&nbsp;</p>');     
        }   
        } 
      );
      }   
   
    //]]>

    </script>

im Body Tag hab ich dann wie gesagt nur den DIV Tag drin.
HTML-Code:

<div style="width: 500px; height: 500px;" id="map">&nbsp;</div>
Hier kann man das sich auch anschauen:
IM-Concepts - Weinheim

Viele Grüße
Sebastian

Tahuna 29.04.2009 17:51

ich machs mit einen google-service ueber curl (bei uns laeuft nichts anderes aus sicherheitsgruenden) und dann ich speichere ich die werte fuer longitude und latitude gleich in eine Datebank (da wo ich auch die adresse drin habe) das hat den vorteil das google maps schneller ist weil ich dann nur das js fuer die anzeige brauche und gleich die koorodinaten mit gebe.

und man kann coole sachen machen, wie mit einer sql query alle adressen im Umkreis von 5km um den punkt X/Y ...

PHP-Code:

if($regionIsoCode) {
        
$adressQuery rawurlencode(str_replace(" ""+","$streetName$cityName$regionIsoCode$countryName"));
    } else {
        
$adressQuery rawurlencode(str_replace(" ""+","$streetName$cityName$countryName"));
    }
    
$geoCodingUrl     "http://maps.google.com/maps/geo?q=$adressQuery&output=csv&key={$google_maps_key}";
    
    
$ch curl_init($geoCodingUrl);
    
curl_setopt($chCURLOPT_HEADER0);
    
curl_setopt($chCURLOPT_POST1);
    
curl_setopt($chCURLOPT_RETURNTRANSFER1);
    
$content curl_exec($ch);      
    
curl_close($ch);

    list(
$empty$empty$latitude$longitude) = split('[,]'$content);
    if(
$latitude && $longitude) { 
     ....
    
//code fuers speicher in die DB kommt hier rein
    
...
    } 


LongHuoyan 01.04.2011 19:44

Also ich hab da so gar keine Ahnung von und würde einfach gerne eine "Wegbeschreibung" auf meine Homepage verwenden. Einen Key habe ich, habe aber absolut keine Ahnung, wie ich eine Adresse angeben kann bzw. wie der Quelltext aussehen muss.
Am liebsten wäre mir eine html und eine javascript Datei.

Kann mir da bitte jemand weiter helfen?

JonnyX 02.04.2011 03:56

Der Code erhälst du direkt beim erstellen beim erstellen von einer Karte, diesen kann man sehr gut benutzen!

LongHuoyan 03.04.2011 01:29

Diesen hier?
Code:

<!DOCTYPE html "-//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>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>Google Maps JavaScript API Example</title>
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=abcdefg&sensor=true_or_false"
            type="text/javascript"></script>
    <script type="text/javascript">

    function initialize() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map_canvas"));
        map.setCenter(new GLatLng(37.4419, -122.1419), 13);
      }
    }

    </script>
  </head>
  <body onload="initialize()" onunload="GUnload()">
    <div id="map_canvas" style="width: 500px; height: 300px"></div>
  </body>
</html>

Das Problem das ich hier habe ist, das ich keine Ahnung habe, wo ich da die Adressdaten eingeben soll, bzw. Längen- & Breitengrade eintragen soll. Oder wo ich diese finden kann für eine bestimmte Adresse....

LongHuoyan 06.04.2011 00:49

Niemand da, der mir da weiterhelfen kann!?

monika40 29.07.2011 12:08

ich weiss nicht, aber was ich mal gehört habe ist, dass man google maps nicht einfach so einbinden darf. oder waren das statische karten? auf jeden fall musste ich damals in einem zeichenbüro die karte selbst zeichnen lassen, um keine rechte zu verletzen,

lg

Delbert 19.11.2011 06:53

Ich war erst zu lernen, embedded Google Maps, ist dieses Thema wirklich toll!

Betinar9 27.11.2014 11:47

Hey monika40,
doch Google bietet die API bis XY Einblendungen (paar Tausend am Tag) kostenlos an! :-)

Danni25 18.04.2015 21:31

Also mir hat es bei mienem problem schon weitergeholfen ! Vielen dank !

Danni25 13.07.2015 18:33

Zitat:

Zitat von Betinar9 (Beitrag 65366)
Hey monika40,
doch Google bietet die API bis XY Einblendungen (paar Tausend am Tag) kostenlos an! :-)

Ja und die sind je nach Projekt sehr schnell aufgebraucht. Wenn man aber mehr braucht, kostet das meist unmenschlich viel Geld. :o

derZiegler 14.07.2015 21:58

Zitat:

Zitat von monika40 (Beitrag 55236)
ich weiss nicht, aber was ich mal gehört habe ist, dass man google maps nicht einfach so einbinden darf. oder waren das statische karten? auf jeden fall musste ich damals in einem zeichenbüro die karte selbst zeichnen lassen, um keine rechte zu verletzen,

lg

Solange da doch unten das Copyright steht ist das doch ok oder?

Muss das nämlich auch demnächst in einem Projekt machen. Wäre nett wenn jemand Klarheit in das Problem bringt.
Habe es jetzt mit einer Embedded Map gelöst. Nicht, dass das nicht rechtens ist.

Grüße Sven


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:05 Uhr.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25