如何在谷歌地图中获取与纬度和液化天然气的总距离
How to get total distance from lat and lng in google maps
我每 5-7 秒将 gps sigal 保存到数据库中。当我从数据库"求和"所有纬度和 lng 值时,我如何查看到目前为止我走了多少距离。我怎样才能每天看到这些反应?
例如。当我在实时预览中跟踪汽车时,我希望有一个距离来求和当天的实时数据。当我为某辆卡车寻找例如一个月公里时?
我正在查看此链接,但我不知道如何动态填充数据,因为它们已经在数组中具有数据。
如果您已经实现了同样的事情,您能否给我一些想法和示例。
如果轮子已经制成:),为什么要制作轮子
谢谢
一些三角学会让你到达那里。
我希望纬度/液化曲线像 2D 表面上的 X/Y 坐标一样简单。不幸的是,由于我们生活在一个叫做地球的(非常奇妙的)球体上,纬度和经度是指三角形相对于地心(纬度)的角度或我们在地球上绘制的假想线(经度)。历史的东西很整洁,但这不是这里的重点。
我使用Haversine forumla来计算球体上的距离,如果您愿意,可以阅读更多内容。
为了简单起见,我将在此处发布代码。我是用Javascript写的,所以这就是你得到的:)给定两个纬度/液化天然气点 A 和 B,则:
// units can be english (miles) or metric (km)
var units = "english";
function calculate_distance(a, b) {
var R = (units == "english") ? 3958.7558 : 6371;
var dLat = (a.lat - b.lat) * Math.PI / 180;
var dLon = (a.lng - b.lng) * Math.PI / 180;
var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.cos(a.lat * Math.PI / 180) * Math.cos(b.lat * Math.PI / 180) *
Math.sin(dLon / 2) * Math.sin(dLon / 2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
return R * c;
}
如果您在点对之间迭代应用此函数并将距离求和......宾果游戏。
function get_distance(list_of_points) {
if (list_of_points.length == 0) return 0;
var sum = 0;
var last_point = list_of_points.shift();
while (list_of_points.length > 0) {
var next_point = list_of_points.shift();
sum += calculate_distance(last_point, next_point);
last_point = next_point;
}
return sum;
}
或者,您可以使用Google Maps API的几何库来做同样的事情:
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?libraries=geometry&sensor=false"></script>
<script type="text/javascript">
function initialize() {
var myLatLng = new google.maps.LatLng(0, -180);
var myOptions = {
zoom: 3,
center: myLatLng,
mapTypeId: google.maps.MapTypeId.TERRAIN
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var coordinates = [
new google.maps.LatLng(37.772323, -122.214897),
new google.maps.LatLng(21.291982, -157.821856),
new google.maps.LatLng(-18.142599, 178.431),
new google.maps.LatLng(-27.46758, 153.027892)
];
console.log(google.maps.geometry.spherical.computeLength(coordinates));
}
</script>
相关文章:
- 计算php或js中的距离
- 使用谷歌地图api计算距离并将其设置在表格中<td>
- 如何在谷歌地图api v3中获得无公里驾驶距离
- 铯JS-两点之间的距离
- 地理位置和计算从当前纬度/液化天然气到另一纬度/液化石油气的距离
- cloudSearch:范围从0到某个值之间的距离
- 计算数据点阵列与平均值的最大距离,并返回相关数据点
- 远距离变换元素的宽度/高度(以像素为单位)
- 将谷歌地图制作成一定的距离(米)
- 谷歌地图 api 动态获取纬度和液化天然气
- 如何从地理编码地址查找纬度液化天然气
- 如何获取所有旅行模式的距离和持续时间,例如驾驶,公交,骑自行车,在我的页面中步行以及将其存储在数据库中
- 无法与光线投射器保持距离
- 矩阵,距离,JavaScript
- 查找图像上两点之间的距离,即使缩放图像也是如此
- 谷歌距离矩阵 API 没有输出
- 查找与通过两次调用地理编码创建的两个 latlng 对象的距离
- 在不使用 CSS 的情况下,将元素与浏览器屏幕顶部保持设定的距离
- 计算地理位置距离返回 NaN
- 如何在谷歌地图中获取与纬度和液化天然气的总距离