2013-05-05 4 views
6

Wie kann ich den Längen- und Breitengrad mit PHP von der Maschine des Benutzers erhalten?Holen Sie sich den Längen- und Breitengrad als Maschine des Benutzers in PHP

ich brauche die es so die Länge, wenn Norden ein positiver Wert ist und wenn im Süden ist es ein negativer Wert/

Und in Bezug auf Breite, wenn Osten es positiver Wert ist und wenn Westen ist es ein negativer Wert.

Wie kann ich das tun?

+0

Erm, Breitengrad ist Nord/Süd Position, Sport. – pp19dd

+0

@ pp19dd ah, habe ich Längen- und Breitengrad geschaltet? –

+0

Breitengrad und Längengrad kommen ziemlich in einem bestimmten Format, wenn Sie etwas anderes wollen, müssen Sie das selbst herausfinden. – adeneo

Antwort

15

Der einzige Weg, auf dem server geolocate wäre zu verwenden eine Nachschlagetabelle für die IP-Adresse. Es gibt Dienste, die dies für Sie zur Verfügung stellen, so könnte man dies tun:

$ip = !empty($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR']; 
$url = "http://freegeoip.net/json/$ip"; 
$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); 
$data = curl_exec($ch); 
curl_close($ch); 

if ($data) { 
    $location = json_decode($data); 

    $lat = $location->latitude; 
    $lon = $location->longitude; 

    $sun_info = date_sun_info(time(), $lat, $lon); 
    print_r($sun_info); 
} 

Es wird nicht immer aber sehr genau. In JavaScript haben Sie Zugriff auf die Geopositions-API von HTML5 oder Google Maps. Umgekehrt müssen Sie bei der umgekehrten Geokodierung mit Google eine Karte verwenden, wie in den TOS angegeben.

+0

Ich möchte nicht auf Server-Seite nach oben suchen, ich möchte mit PHP den Standort auf der Client-Seite nachschlagen. –

+3

Es gibt kein PHP auf der Clientseite, es ist eine serverseitige Sprache? – adeneo

+0

Richtig, so kann ich PHP nicht benutzen, um auf der Seite des Kunden Sonnenuntergang und Sonnenaufgang zu suchen. Ich muss eine Client-Sprache verwenden, richtig? –

0

Da der genaue Standort die Zustimmung des Benutzers erfordert, kann dies nicht mit PHP durchgeführt werden. Versuchen Sie JS zu verwenden, um den Standort des Benutzers abzurufen, und verwenden Sie AJAX, um es an den Server zu senden.

Wenn Sie einen ungefähren Standort verwenden möchten, können Sie nach IP-Adresse zuordnen. Bei einer Websuche werden einige Optionen angezeigt, z. B. this one.

+0

HTML5 geoloacaction ist nichts anderes als der Browser eine Anfrage an einen Dienst basierend auf IP und ein paar andere Variablen, wie in der Nähe Celtowers, GPS auf mobilen Geräten, Netzwerkschlüssel in engen drahtlosen Netzwerken usw., so ist es auch nicht wirklich genau, und einige von den Diensten, besonders von Microsoft, ist sogar schlechter, als einen freien Dienst für das Nachschlagen der IP zu verwenden. – adeneo

Verwandte Themen