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

HTML5地理位置,单击时将lat/long传递给PHP变量,php,jquery,ajax,html,Php,Jquery,Ajax,Html,当用户单击一个按钮,然后重定向到一个新页面,在该页面中,这些值将被传递给PHP变量时,是否可以使用HTML5地理位置获取用户的纬度/经度 因此,如果用户在包含HTML5地理位置代码的index.php上,并单击此按钮 <span class="button get-my-location">My Location</span> 我的位置 然后,它们将被重定向到weather.php,其中它们的lat/long将存储在两个php变量$lat和$long 这可能吗?我想它

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

因此,如果用户在包含HTML5地理位置代码的
index.php
上,并单击此按钮

<span class="button get-my-location">My Location</span>
我的位置
然后,它们将被重定向到
weather.php
,其中它们的lat/long将存储在两个php变量
$lat
$long

这可能吗?我想它应该是基于AJAX的?不幸的是,阿贾克斯不是我的强项


任何帮助都会很好

用户很容易获得经度和纬度,您需要将其分配到表单中的隐藏字段,并将其提交到php页面url,或通过Javascript以get或POST的形式发送

这是一个示例,说明了如何在获得用户位置后直接重定向用户:

<!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>

单击按钮获取您的坐标

试试看

var x=document.getElementById(“演示”); 函数getLocation(){ if(导航器.地理位置){ navigator.geolocation.getCurrentPosition(重定向拓扑位置); }否则{ x、 innerHTML=“此浏览器不支持地理位置。”; } } 功能位置(位置){ window.location='weather.php.php?lat='+position.coords.latitude+'&long='+position.coords.longitude; }
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>

试试看
函数getLocation(){
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(重定向拓扑位置);
}否则{
x、 innerHTML=“此浏览器不支持地理位置。”;
}
}
功能位置(位置){
window.location='getPosition.php?lat='+position.coords.latitude+'&long='+position.coords.longitude;
}

你试过了吗?一点也不难。。。看到和