私は現在、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 メソッドを介して文字列エラーを返すようにする必要があることに注意してください。
最後に、これらのメソッドは、フォームのポスト アクションを介して呼び出されます.. (ただし、問題はないはずです)