0

我想知道用户在我的应用程序中的当前位置。为此我必须使用

我的 PHP 代码中的地理位置代码。但我不知道如何在 PHP 代码中使用 JavaScript 代码。

地理定位的 JavaScript 代码如下。

      function displayLocation(loc){
      var lat = loc.coords.latitude;
      var lon = loc.coords.longitude;
      }
      function getLocation(){
      navigator.geolocation.getCurrentPosition(displayLocation);
      }
    $(document).ready(function(){
    getLocation();
    });

我想将这些纬度和经度值分配给我的 php 变量纬度和经度。

为此,我必须知道如何在 php 中使用 JavaScript 代码以及如何将 JavaScript 值分配给 php 变量。

如果有任何建议可以完成此任务,请告诉我。

              Thanks.......
4

1 回答 1

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;
?>

JSFiddle 演示

上面代码的 Ajax 示例:

$.post("coordinates.php", $("#cform").serialize(), function(result){
    // code executed here when we get response from the server
    alert(result);
});
于 2012-05-30T07:09:10.563 回答