在PHP中获取用户机器的经度和纬度

Irf*_*Mir 6 php

如何使用用户机器的PHP获取经度和纬度?

如果北方是正值,我需要它是经度,如果是南方则是负值/

就纬度而言,如果是东方,那么它是正值,如果是西方则是负值.

我怎样才能做到这一点?

ade*_*neo 17

在服务器端进行地理定位的唯一方法是使用查找表进行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);
}
Run Code Online (Sandbox Code Playgroud)

但它并不总是非常准确.在javascript中,您可以访问HTML5地理位置API或Google地图,但根据服务条款,与Google进行反向地理编码要求您使用地图.

  • 客户端没有PHP,它是服务器端语言? (4认同)