• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

automatisch position eines PCs bestimmen

Mitglied seit
08.03.2004
Beiträge
1.574
Reaktionen
0
ich würde gerne ein Script schreiben, mit dem der Nutzer automatisch seine Position (ungefähr reicht ja) auf einer Google Map angezeigt bekommt.

Ich denke(!) man sollte dabei in folgenden Schritten vorgehen:
1. IP-Adresse bestimmen
2. zur IP-Adresse den Ort ermitteln
3. Google-Maps nach den Geocodes des Ortes fragen
4. den Ort darstellen


Hauptsächlich die ersten beiden Punkte machen mir da Probleme. Gibt es in Javascript auch so etwas wie eine Variable wo solche Daten drin stehen? (so wie $_SERVER bei PHP)
Und wohin muss ich was für eine Anfrage schicken um zu einer IP eine Ortsangabe zu erhalten?

Danke schonmal.
 

killerchicken_inaktiv

Guest
Du möchtest ein JavaScript schreiben? Wenn ja, dann wird das nur mit einem Server-Script zusammen gehen, denn lokales JS ist furchtbar schlecht darin, die richtige IP zu erkennen (jemand hinter einem NAT wird definitiv immer eine lokale IP angezeigt bekommen). Du musst die remote IP also serverseitig erkennen, und dann direkt schon mitschicken.

Zu zweitens: Es gibt einige freie Angebote, die mE. nach allerdings allesamt grottig schlecht sind. Die Datenbanken werden oftmals viel zu selten aktualisiert oder lookups dauern ewig... Falls da doch jemand eine gute Alternative kennt, wär ich auch interessiert.

Schritte 3 und 4 sind mit der gmaps api ja Kinderkram
 
Mitglied seit
08.07.2001
Beiträge
1.625
Reaktionen
0
meinst du mit ungefährt = deutschland oder wie detailliert soll da was angezeigt werden?

weil afaik wird ne genauere auflistung (bayern, hessen, etc) erst über das auslesen im browser besser. was meiner minung nach eh schlauer wäre
 

RRA^StArFiRe

Guest
was benutzt du denn drumrum?
nur javascript?
mit php geht sowas. aber wenn derjenige nen proxy benutzt, verfälscht das eh.
 
Mitglied seit
20.04.2005
Beiträge
2.888
Reaktionen
0
Ort
Österreich
Je genauer du die Lokalisierung angibst desto fehlerhafter ist deine Anzeige. Machs doch grob, mit maximal Bundesland. Ansonsten haste den Standort vom ISP, aber so gut wie nie vom User:)
 
Mitglied seit
08.03.2004
Beiträge
1.574
Reaktionen
0
es soll schon so ungefähr deutschland weit hinhauen, also so genau, wie es halt geht. Hab auch nur bis zu den whois-Servern eine Lösung...

hier meine lösung:

Code:
<?php
function getRequestIP()
{
  $ip = getenv('REMOTE_ADDR');
  return $ip;
}

function whois($domain){
  $server="whois.ripe.net";
  $IP=gethostbyname($domain);
  if(!$IP) $IP==$domain;
  $fp=@fsockopen($server,43,&$errno,&$errstr,15);
  fputs($fp,"$IP\r\n");
  $response = array();
  while(!feof($fp))
  {
     $response[] = fgets($fp,256);
  }
  fclose($fp);
  if(count($response)>0)
  {
    return $response;
  }else{
    return FALSE;
  }
}

function getMapCode($address){
  $html = file("map.html");
  $string = "";
  foreach($html as $line){
     if(!preg_replace("!###CUSTOMER_LOCATION###!", $address,$line)) continue;
     $string .= $line;
  }
  return $string;
}
?>
 
Oben