2013-05-05 16 views
6

ユーザーのマシンのPHPを使用して経度と緯度を取得するにはどうすればよいですか?PHPでユーザーのマシンとして経度と緯度を取得

北が正の値であり、南場合東は、それが正の値であり、西ならば、それがある場合、それは、

と緯度の換算/負の値であれば私は経度であることをそれを必要と負の値。

どうすればいいですか?

+0

Erm、緯度は北/南位置、スポーツです。 – pp19dd

+0

@ pp19ddああ、私は経度と緯度を切り替える必要がありますか? –

+0

緯度と経度は特定の形式になっていますが、何か他のものが必要な場合は、自分でそれを把握する必要があります。 – adeneo

答えて

15

用いることであろうサーバーサイドでgeolocateするための唯一の方法をPHPではないに行われます:この質問は尋ねたと回答されているどこにチェックアウトを使用して、それを入れて問題がある場合IPアドレスのルックアップテーブル。

$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); 
} 

いつもあまり正確なわけではありませんが、あなたにこれを提供するサービスがあります。 javascriptではHTML5ジオロケーションAPIまたはGoogleマップにアクセスできますが、Googleとの逆ジオコーディングでは、TOSに従って地図を使用する必要があります。

+0

私はサーバー側の場所を調べたくないので、PHPを使用してクライアント側の場所を検索したいと考えています。 –

+3

クライアント側にはPHPはありません。サーバー側の言語ですか? – adeneo

+0

真実なので、私はクライアントの側で日の出と日の出を調べるためにPHPを使うことはできません。クライアント側の言語を使用する必要があります。 –

0

正確な場所はユーザーの同意が必要なため、PHPで行うことはできません。 JSを使用してユーザーの場所を取得し、AJAXを使用してサーバーに送信してみてください。

おおよその場所を使用する場合は、IPアドレスでマップすることができます。ウェブ検索では、this oneなどのいくつかのオプションが表示されます。

+0

HTML5 geoloactionは、IPや近くのセルタワー、モバイルデバイスのGPS、近くのワイヤレスネットワーク上のネットワークキーなど、いくつかの変数やIPに基づいてリクエストを送信するブラウザに過ぎません。特にMicrosoftの方は、IPを検索するために無料のサービスを使用するよりもさらに悪いです。 – adeneo

関連する問題