我目前正在尝试通过 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 操作调用.. (虽然我不应该有任何问题)