ジオロケーションの緯度と経度を配列として PHP に渡し、jQuery AJAX を使用してクライアント側に値を返すスクリプトを作成しようとしています。私が見つけた最良の解決策は JSON でした。私の次のスクリプトNULL
は、私にはわからない何らかの理由で値を返します。
index.html
<div id="geoloc"></div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(showPosition);
} else {
$('#geoloc').html("<p>Geolocation is not supported by this browser</p>");
}
function showPosition(position) {
var latlng = [ {"lat":position.coords.latitude, "lng":position.coords.longitude}];
$.ajax({
type: "POST",
url: "libs/filterstores.php",
data: { json: JSON.stringify(latlng) },
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data){
$('#geoloc').html("Latitude: " + data.lat + "<br />Longitude: " + data.lng);
}
});
}
});
</script>
filterstores.php
$currloc = json_decode($_POST['latlng'], true);
$stores = array('lat'=>$currloc['lat'],'lng'=>$currloc['lng']);
echo json_encode($stores);
以下は、ブラウザから「場所を共有」ボタンを押すと返される結果です。
Latitude: sdf
Longitude: sdfsd