かなり単純に思えますが、私は苦労しています。
これが私がこれまでに見たものです。動作をテストするためだけに位置座標を表示します。しかし、私はデータベースにも永続化したいので、ajax 呼び出しを行います。私はこれを正しい方法で行っていますか、それとももっと簡単またはより良い方法がありますか?
<p id="demo">Click the button to get your coordinates:</p>
<button onclick="getLocation()">Try It</button>
<script>
var x=document.getElementById("demo");
var lat;
var long;
function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition);
}
else{x.innerHTML="Geolocation is not supported by this browser.";}
}
function showPosition(position)
{
lat = position.coords.latitude;
long = position.coords.longitude;
x.innerHTML="Latitude: " + lat +
"<br>Longitude: " + long;
$.ajax({
type: 'POST',
url: 'http://localhost:3000/locations',
data: { lat: lat, long: long },
contentType: 'application/json',
dataType: 'json'
});
}
</script>