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 メソッドを介して文字列エラーを返すようにする必要があることに注意してください。

最後に、これらのメソッドは、フォームのポスト アクションを介して呼び出されます.. (ただし、問題はないはずです)

4

0 に答える 0