ユーザーが投稿を作成できるページに次のコードがあります。
<script>
function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition);
}
}
function showPosition(position)
{
$('input#latitude').val(position.coords.latitude);
$('input#longitude').val(position.coords.longitude);
}
getLocation();
</script>
これにより、フォーム上の 2 つの非表示フィールドにユーザーの座標が入力されます。これらの座標は投稿のデータベース テーブルに保存されるため、投稿を地図上に表示して、他のユーザーが投稿された場所を確認できます。
ただし、ユーザーが次のことを決定した場合: A) 位置情報を共有しない B) 位置情報をサポートしていないブラウザーを使用する
この情報を保存できなくなり、アプリケーションのポイントが無効になります。
これを行うためのより良い方法はありますか?また、ユーザーが位置情報を共有しないことを決定した場合、または地理位置情報を持っていない場合の問題を処理する方法はありますか?
これまでのところ、テストとしてhttp://dev.driz.co.uk/location/があります。また、ユーザーの場所が町/都市の形で入力されるフィールドもあります。これは、ユーザーが現在どこから投稿しているかを確認できるようにするためです。間違っている場合は、変更して座標を更新できます (実際の場所ではなく、中央の場所を取得するだけであることに注意してください。彼らが入った町を探しているだけです)。
Google Maps API を使用してユーザーの場所を特定しようとしています。
私が構築したいものを明確にするには:
1.) users テーブルからのユーザーの場所が、ページに表示されるフィールドに入力されます。これは、Geolocation を使用して現在の場所で上書きされます。彼らがこれを持っていないかブロックしていない場合は、事前に入力されたテキストが使用されます。
2.) この場所の値または地理位置情報のいずれかを使用して、ユーザーの座標を取得し、非表示フィールドに挿入します。
3.) ユーザーが場所が間違っていると判断した場合、または何らかの理由で別の場所に変更したい場合は、ボックスに入力して変更ボタンをクリックすると、その場所の座標が見つかります。(見つからない場合はエラーを表示し、新しい場所が見つかるまで、ユーザーの場所から事前に入力されたデフォルトを使用します)。
誰でも助けてもらえますか?ありがとう