Google maps Lat Lng aus Datenbank

  • Für eine Karte hole ich die in einer Datenbank hinterlegten Koordinaten die dann per xml an die Karte "geschickt" werden.
    Nun kann es passieren, das für eigentlich zwei Punkte dieselben Koordinaten hinterlegt sind - ich lasse z.B. Manner und Frauen anzeigen und die wohnen im gleichen Haus. Es wird mir aber nur einer davon angezeigt...


    Wie kann ich abfangen, ob es diese lat/lng Kombi gibt und wenn ja, einen Meter (oder so) dazu rechnen ?


  • Es wird mir aber nur einer davon angezeigt...


    Es werden dir bestimmt beide angezeigt, leider nur genau übereinander ;)


    Vergleiche $row['lat'] und $row['lng'], und wenn die gleich sind, addierst du einem von beiden einen Wert x hinzu

  • PHP
    1. if ($row['lat'] == $row['lng'])
    2. $row['lat'] += x;


    Für das x musst du eine Zahl einsetzen, z.B. 0.5. Wie groß die Zahl sein muss, musst du einfach mal ausprobieren.

  • Die geodaten konnte ich erfolgreich mit

    PHP
    1. $previous = '';
    2. ($row = @mysql_fetch_assoc($result)){ ....
    3. $current = $row['lat'];
    4. if ($current == $previous) {
    5. $row['lat'] += 0.005000;
    6. }
    7. $previous = $current;


    ändern (sind ca. 400m Luftlinie)


    in dem xml steht

    Code
    1. <marker id="14333" studlist=" " name="Chunami from Bandit's World" address="44651 Herne" lat="51.508629" lng="7.149345" type="ja"/>
    2. <marker id="14444" studlist=" " name="Delphi from Bandit's World" address="44651 Herne" lat="51.513629" lng="7.149345" type="ja"/>


    es sind also verschiedene Daten da, aber angezeigt wird mir hier wieder nur Delphi aber an der ursprünglichen Adresse (die ich "eigentlich" versetzt habe)


    das js, welches die map anzeigt:




    EDIT:

    Frau sollte die richtige Datei einbinden und dann sind da auch zwei Marker