在我的移动应用中,我使用以下代码获得了用户地理位置。我还有附近城市的地理位置(纬度,经度)。我可以将城市的地理位置数据放在数组或SQLite数据库中。如何使用jQuery或JavaScript获取和显示位于用户位置附近的3个最近城市。我没有使用谷歌地图。
$(document).ready(function() {
var Geo={};
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(success, error);
}
//Get the latitude and the longitude;
function success(position) {
Geo.lat = position.coords.latitude;
Geo.lng = position.coords.longitude;
}
function error(){
console.log("Geocoder failed");
}
function populateHeader(lat, lng){
$('#myPopup').append('<p>Lattitude: ' + lat);
$('#myPopup').append('<br />Longitude: ' + lng + '</p>');
}
});
由于
乔
答案 0 :(得分:0)
一个简单的谷歌搜索导致这个JavaScript代码计算两点之间的距离。
var R = 6371000; // metres
var φ1 = lat1.toRadians();
var φ2 = lat2.toRadians();
var Δφ = (lat2-lat1).toRadians();
var Δλ = (lon2-lon1).toRadians();
var a = Math.sin(Δφ/2) * Math.sin(Δφ/2) +
Math.cos(φ1) * Math.cos(φ2) *
Math.sin(Δλ/2) * Math.sin(Δλ/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c;
更多解释here。
您可能必须为每个城市和地理位置点找到d
的值。