0

我目前正在尝试通过 html5 获取地理位置并将它们存储到 php 变量中以供进一步处理。

我遵循了示例w3schools,但我不知道如何更改函数以返回纬度和经度并将它们存储在单独的 php 变量 $lat 和 $lon 中。

这是我的代码(不正确)。它是一个 php 函数,可以打印出地理定位脚本。

function printGeoLocScript() {
    echo <<<_END

    <script>
function getLatitude()
  {
  if (navigator.geolocation)
    {
    return navigator.geolocation.getCurrentPosition(getLat,showError);
    }
  else{return  "Geolocation is not supported by this browser.";}
  }

function getLongitude()
  {
  if (navigator.geolocation)
    {
    return navigator.geolocation.getCurrentPosition(getLon,showError);
    }
  else{return  "Geolocation is not supported by this browser.";}
  }
function getLat(position)
  {
  return  position.coords.latitude;
  }

function getLon(position)
  {
   return position.coords.longitude;    
  }

function showError(error)
  {
  switch(error.code) 
    {
    case error.PERMISSION_DENIED:
      return "User denied the request for Geolocation."
    case error.POSITION_UNAVAILABLE:
      return "Location information is unavailable."
    case error.TIMEOUT:
      return "The request to get user location timed out."
    case error.UNKNOWN_ERROR:
     return "An unknown error occurred."

    }
  }
</script>

_END;
}

请注意,如果坐标不可用,我希望这两个函数(getLongitude 和 getLatitude 通过 showError 方法返回字符串错误。

最后,这些方法将通过表单的 post 操作调用.. (虽然我不应该有任何问题)

4

0 回答 0