8.xxx cho khoảng cách tính tọa độ map (ok)
Bài toán 1: Tôi đang ở Trang Vàng với tọa độ: 20.9836502,105.8413796 Giờ tôi tăng thêm 20 kilometer thì tọa độ tôi thay đổi như thế nào?

C:\xampp\htdocs\pointfindertheme\wp-content\plugins\pointfindercoreelements\public\js\theme-map-functions.js
var newbounds = $.pointfindercalculatebounds(lat,lng,form_radius_val,form_radius_unit_name);
console.log(form_radius_val); // 10
console.log(form_radius_unit_name); // mi
Tìm đến đây :)
$('#pfw-sw2').attr("value",newbounds[3]);
C:\xampp\htdocs\pointfindertheme\wp-content\plugins\pointfindercoreelements\public\js\theme-map-functions.js
$.pointfindercalculatebounds = function(lat, lng, distance, unit){
function rad2deg (angle) {
return angle * 57.29577951308232
}
function deg2rad(degrees){
return degrees * Math.PI / 180
}
if (unit == 'km') {
var radius = 6371.009;
} else {
var radius = 3958.761;
}
var maxlat = lat + rad2deg( distance / radius );
var minLat = lat - rad2deg( distance / radius );
var maxLng = lng + rad2deg( distance / radius) / Math.cos( deg2rad( lat ) );
var minLng = lng - rad2deg( distance / radius) / Math.cos( deg2rad( lat ) );
return [maxlat,minLat,maxLng,minLng];
}
Bài toán 2: Tôi có tọa độ của Trang Vàng: 0.983705,105.841372 và tọa độ của Phủ Lý 20.533743, 105.926056 giờ tôi muốn tính khoảng cách này cách bao nhiêu xa?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script type="text/javascript">
function pfcalculatedistance(lat1, lon1, lat2, lon2, unit) {
if ((lat1 == lat2) && (lon1 == lon2)) {
return 0;
}else {
var radlat1 = Math.PI * lat1/180;
var radlat2 = Math.PI * lat2/180;
var theta = lon1-lon2;
var radtheta = Math.PI * theta/180;
var dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta);
if (dist > 1) {
dist = 1;
}
dist = Math.acos(dist);
dist = dist * 180/Math.PI;
dist = dist * 60 * 1.1515;
if (unit=="K") { dist = dist * 1.609344 }
if (unit=="N") { dist = dist * 0.8684 }
return dist;
}
}
console.log(pfcalculatedistance(20.983705,105.841372,20.533743, 105.926056,"K")); // 50.79991792194837
console.log(pfcalculatedistance(20.983705,105.841372,20.533743, 105.926056,"N")); // 27.411571872402643
</script>
</body>
</html>
Previous7.xxxx Nghiên cứu về filter theme pointfinderNextThay đổi thuộc tính mặc định featured picture src, alt, class, sizes (ok)
Last updated
Was this helpful?