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