我想知道用户在我的应用程序中的当前位置。因为我必须使用
我的PHP代码中的地理定位代码。但我不知道如何在PHP代码中使用JavaScript代码。
Geolocation的JavaScript代码如下。
function displayLocation(loc){
var lat = loc.coords.latitude;
var lon = loc.coords.longitude;
}
function getLocation(){
navigator.geolocation.getCurrentPosition(displayLocation);
}
$(document).ready(function(){
getLocation();
});
我想将这些lat和lon值分配给我的php变量纬度和经度。
为此,我必须知道如何在php中使用JavaScript代码以及如何分配JavaScript 值到php变量。
如果有任何建议可以告诉我完成此任务。
Thanks.......
答案 0 :(得分:4)
您无法将javascript值分配给PHP值,因为javascript在客户端运行,而PHP在服务器端运行。
您需要使用简单的POST / GET操作或使用ajax将纬度和经度值发送回服务器。
获取用户的位置
<script type="text/javascript">
function displayLocation(loc){
var lat = loc.coords.latitude;
var lon = loc.coords.longitude;
$("#lat").val(lat);
$("#lon").val(lon);
}
function getLocation(){
navigator.geolocation.getCurrentPosition(displayLocation);
}
$(document).ready(function(){
getLocation();
});
</script>
将位置值放入表单然后将其提交到服务器端:
<form action="coordinates.php" method="post" id="cform">
Latitude: <input type="text" name="lat" id="lat" value=""><br>
Longitude: <input type="text" name="lon" id="lon" value=""><br>
<input type="submit" name="submit" value="Send data">
</form>
从表格中处理用户在PHP中的位置:
<?php
$lat = $_POST["lat"];
$lon = $_POST["lon"];
echo "Your location is: " . $lat . ", " . $lon;
?>
上面代码的Ajax示例:
$.post("coordinates.php", $("#cform").serialize(), function(result){
// code executed here when we get response from the server
alert(result);
});