よく使う
2地点間の距離を計算
2つの座標(緯度・経度)の間の距離をメートル単位で計算するブロック。GPSなどの位置情報から距離を求めるのに使う。
ブロック

このブロックのテキストコード
function sbGeoDistance(lat1, lon1, lat2, lon2) {
var R = 6371000; // Earth radius in meters
var dLat = (lat2 - lat1) * Math.PI / 180;
var dLon = (lon2 - lon1) * Math.PI / 180;
var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(lat1 * Math.PI / 180) * Math.cos(lat2 * Math.PI / 180) *
Math.sin(dLon/2) * Math.sin(dLon/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var distance = R * c;
return Math.round(distance);
}
sbGeoDistance(0, 0, 0, 0)引数(渡す値)
- 第1引数数値
- 第2引数数値
- 第3引数数値
- 第4引数数値