gpt4 book ai didi

javascript - 如何使用javascript显示离我的位置最近的经纬度?

转载 作者:数据小太阳 更新时间:2023-10-29 06:06:55 24 4
gpt4 key购买 nike

我是 stack overflow 的新手,我想知道是否有人可以帮助我使用 javascript 并获取离我当前位置最近的纬度和经度。

我有一个存储纬度和经度坐标的 API,我将它们保存在 javascript 变量中,还将我的当前位置保存在变量中。

我需要以某种方式对列表中的纬度和经度坐标列表进行排序,以显示离我当前位置最近的坐标。

这有意义吗?

最佳答案

计算距离的Javascript函数

$nearest=1; //Limit within 1 KM.

$("#jobnews").html("<h2>Results:</h2>");
$.each(info.companies.company, function(index, job)
{
var lat = list.location.lat;
var lng = list.location.lng;
var nam = current.location.lat;
var cou = current.location.lng;
//In below line we will get the distance between current and given coordinates.
var d=distance(nam, cou, lat, lng, "K");
//Check the d is within 1 KM, If so then add it to map.
if(nearest>d)
{
var map = "</p><img src='maps.google.com/maps/api/staticmap?center="; + lat + "," +lng +"&zoom=17&size=400x300&key="+key+"&maptype=roadmap&visual_refresh=true&markers=‌​color:red|"+lat+","+lng+"&sensor=true'width='300' height='280'alt='Map of your location.'/>";
var nearestList = "<div><h3>DISPLAY INFO: "+lis.name+link+nam+lat+lng+cou+map+"</div>";
}
}

function distance(lat1, lon1, lat2, lon2, unit) {
var radlat1 = Math.PI * lat1/180
var radlat2 = Math.PI * lat2/180
var radlon1 = Math.PI * lon1/180
var radlon2 = Math.PI * lon2/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);
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
}

传递给函数:

lat1, lon1 = 点 1 的纬度和经度(十进制)
lat2, lon2 = 点 2 的纬度和经度(十进制)
unit = 你想要的结果单位
其中:“M”是法定英里数
'K' 是千米(默认)
'N'是海里

关于javascript - 如何使用javascript显示离我的位置最近的经纬度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20446014/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com