HTML5 地理位置,点击时将 lat/long 传递给 PHP 变量

HTML5 geolocation, pass lat/long to PHP variable on click

是否有可能在用户单击按钮时使用 HTML5 地理定位获取用户的纬度/经度,然后重定向到一个新页面,其中值将传递给 PHP 变量?

因此,如果用户在 index.php 上,其中包含 HTML5 地理定位代码,并且他们单击此按钮;

<span class="button get-my-location">My Location</span>

然后他们将被重定向到 weather.php,在那里他们的 lat/long 将存储在 2 PHP 变量 $lat$long

这可能吗?我假设它需要基于 AJAX?不幸的是 AJAX 不是我的强项。

任何帮助都会很棒

获取用户的经纬度很容易,您需要将其分配给表单中的隐藏字段并提交到php页面url或以GET或[=发送21=] 来自 Javascript

这是如何在获得用户位置后直接重定向用户的示例:

<!DOCTYPE html>
<html>
<body>

<p>Click the button to get your coordinates.</p>

<button onclick="getLocation()">Try It</button>

<p id="demo"></p>

<script>
var x = document.getElementById("demo");

function getLocation() {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(redirectToPosition);
    } else { 
        x.innerHTML = "Geolocation is not supported by this browser.";
    }
}

function redirectToPosition(position) {
    window.location='weather.php.php?lat='+position.coords.latitude+'&long='+position.coords.longitude;
}
</script>

</body>
</html>

PHP 代码:

<?php

$lat=(isset($_GET['lat']))?$_GET['lat']:'';
$long=(isset($_GET['long']))?$_GET['long']:'';

//do whatever you want

?>

getPosition.php 这是您的退出页面名称

<!DOCTYPE html>
<html>
<body ><!--onload="getLocation()" use it for on load page-->

<button onclick="getLocation()">Try It</button>

<script>

    function getLocation() {
        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(redirectToPosition);
        } else {
            x.innerHTML = "Geolocation is not supported by this browser.";
        }
    }

    function redirectToPosition(position) {
        window.location='getPosition.php?lat='+position.coords.latitude+'&long='+position.coords.longitude;
    }
</script>
<?php

echo $lat=(isset($_GET['lat']))?$_GET['lat']:'';
echo $long=(isset($_GET['long']))?$_GET['long']:'';

//do whatever you want

?>
</body>
</html>