Usermap (z.B. mit AtlasMod) in Google Earth darstellen!

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
dawidi
Mitglied
Beiträge: 1
Registriert: 25.12.2005 22:47

Usermap (z.B. mit AtlasMod) in Google Earth darstellen!

Beitrag von dawidi »

Hi :)

ich hab in meinem Forum (http://forum.xufo.net) den Atlas-Mod von jonemo eingebaut, und eine sehr schicke Zusatzfunktion drangehängt: die User-Koordinaten hat man ja in der Datenbank, das KML-Dateiformat von Google Earth ist Klartext (XML) und dokumentiert... also warum nicht ein PHP-Skript schreiben, das beides zusammenfügt?
So schaut das bei mir (als PHP-Anfänger :oops:) aus:

Code: Alles auswählen

<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

   $sql = "SELECT username, user_long, user_lat, user_from FROM phpbb_users WHERE NOT (user_long=0 AND user_lat=0)";
   if ( !($result = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, 'Could not obtain users list', '', __LINE__, __FILE__, $sql);
   }
header('Content-type: application/keyhole');
?>
<kml xmlns="http://earth.google.com/kml/2.0" encoding="ISO-8859-1">
<Document>
<LookAt>
    <longitude>11</longitude>
    <latitude>51</latitude>
    <range>1400000</range>
    <tilt>30</tilt>
    <heading>0</heading>
 </LookAt>
<description>(yourdomain.com) Community Members</description>
  <Style id="myPM">
    <IconStyle>
      <Icon>
        <href>http://(yourdomain.com/somewhere/icon.gif)</href>
      </Icon>
    </IconStyle>
  </Style>
<?php
   
   while ( $row = $db->sql_fetchrow($result) )
   {
      echo("<Placemark><name><![CDATA[".htmlentities($row['username'])."]]></name><description><![CDATA[".htmlentities($row['user_from'])."]]></description><styleUrl>#myPM</styleUrl>");
      echo("<Point><coordinates>".$row['user_long'].",".$row['user_lat']."</coordinates></Point></Placemark>");
   }

?>
</Document>
</kml>
Die Datei wird dann als irgendwas.php im Forums-Root gespeichert und in der Navi-Leiste (oder gleich oberhalb des Atlas-Mod-Applets) verlinkt als "irgendwas.php?.kml" damit der Browser es beim Draufklicken gleich an Google Earth weiterreicht. Umlaute in Usernamen und Ortsbezeichnungen werden maskiert und in GE korrekt dargestellt, und man kann kleine, quadratische, teil-transparente GIF- oder PNG-Bildchen als Icons verwenden, die zur jeweiligen Community passen.
Bei Bedarf kann man in die PHP-Datei weitere Icon-Styles eintragen und einige feste Orte (bei mir ein Laden für Ersatzteile und ein Treffpunkt für Events) dazuschreiben und mit ebendiesen anderen Styles versenen.

Wenn dann ein Besucher auf den Link klickt, öffnet sich Google Earth automatisch (oder bekommt den Fokus, wenns schon läuft) und scrollt/zoomt weich rüber in den bei <LookAt> angegebenen Bereich (im obigen Beispiel: Deutschland und Umgebung mit 30° Kameraneigung).

Ein Beispiel aus meiner Community gibts hier.

Seht Ihr da irgendwelche Sicherheitsrisiken? Oder habt Ihr Ideen zur Verbesserung, ohne daß gleich ein Riesenapparat draus wird?
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“