ホームページ >ウェブフロントエンド >H5 チュートリアル >HTML5 地理的位置 Geolocation-API および Haversine 地理空間距離アルゴリズム (グラフィックスとテキスト)
HTML5 は、地理的な位置座標を取得できる Geolocation-API を提供します
ただし、これは特定のニーズにのみ使用されます
たとえば、地図アプリケーション
は一般にほとんど使用されません
このメソッドもAPI は navigator.geolocation オブジェクトのプロトタイプに存在し、 navigator.geolocation.getCurrentPosition メソッドには 3 つのパラメーターがあります (必須)。エラー 位置情報の取得に失敗した場合のコールバック関数
オプション 構成情報パラメータオブジェクト
navigator.geolocation.getCurrentPosition(function(pos){ console.log(pos);//获取位置信息对象Geoposition});
ここでは、クリックするだけです位置情報の共有を許可するため
すると、Chrome はローカルネットワーク情報を Google 位置情報サービスに送信しますaltitudeAccuracy高度精度(単位m)
進行方向
<br/>
navigator.geolocation.getCurrentPosition(function(pos){ console.log(pos); },function(err){ console.log(err); });地理的位置情報の取得が間違っている場合に何らかの処理を行うために2番目のパラメータを設定できます
navigator.geolocation.getCurrentPosition(function(pos){ console.log(pos); },function(err){ console.log(err); //获取错误对象PositionError});
3番目のパラメータは構成情報を設定するために使用されます
navigator.geolocation.getCurrentPosition(function(pos){ console.log(pos); },function(err){ console.log(err); },{ enableHighAccuracy: true, timeout: 5000, maximumAge: 3000});
地理的位置 watchPosition を繰り返し取得する場合、このパラメーターは位置を再取得する頻度を指定します
違いは、watchPosition が位置情報を継続的に取得することです
例:私たちが使用する測位ソフトウェア
そして watchPosiiton は watchID を返します
var ID = navigator.geolocation.watchPosition(function(pos){ ...},function(err){ ...},{ ...}); navigator.geolocation.clearWatch(ID);
、すべての watchPositions
この時点で、Haversine アルゴリズムを使用して
function toRadians(degree) { return degree * Math.PI / 180; }function haversine(latitude1, longitude1, latitude2, longitude2) { var R = 6371; var deltaLatitude = toRadians(latitude2-latitude1); var deltaLongitude = toRadians(longitude2-longitude1); latitude1 = toRadians(latitude1); latitude2 = toRadians(latitude2); var a = Math.sin(deltaLatitude/2) * Math.sin(deltaLatitude/2) + Math.cos(latitude1) * Math.cos(latitude2) * Math.sin(deltaLongitude/2) * Math.sin(deltaLongitude/2); var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); var d = R * c; return d; }2 点の座標を渡すことにより、地理的空間距離
を取得できます。ここで、
は地球の半径です6371km
もちろん、他のアルゴリズムもあります
以上がHTML5 地理的位置 Geolocation-API および Haversine 地理空間距離アルゴリズム (グラフィックスとテキスト)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。