android - android studio中的google map api查找距离但不显示地图
问题描述
我想在android studio中使用google map api来查找2个地方之间的距离以用于某些计算目的,但我不想显示地图或标记,我该怎么做?
解决方案
如果您只想计算地球上两点之间的距离,并且您有纬度和经度坐标,那么就不需要任何 Google API 的地图或库。这只需要额外的开销和维护。只需像这样创建一个静态方法:
public static double getDistanceMeters(LatLng pt1, LatLng pt2){
double distance = 0d;
try{
double theta = pt1.longitude - pt2.longitude;
double dist = Math.sin(Math.toRadians(pt1.latitude)) * Math.sin(Math.toRadians(pt2.latitude))
+ Math.cos(Math.toRadians(pt1.latitude)) * Math.cos(Math.toRadians(pt2.latitude)) * Math.cos(Math.toRadians(theta));
dist = Math.acos(dist);
dist = Math.toDegrees(dist);
distance = dist * 60 * 1853.1596;
}
catch (Exception ex){
System.out.println(ex.getMessage());
}
return distance;
}
相同的算法适用于任何平台。只需将其翻译成适当的程序语言。
推荐阅读
- pandas - 日期时间变量问题
- laravel - Laravel:在我的所有页面(菜单)上调用元素集合的最佳方式
- bash - 如何仅用计数grep匹配的文件?
- kendo-ui - kendo UI 模式模型 ID 是如何工作的?
- python - 从布尔排序矩阵
- sql - 如何合并一列的结果,然后分成两列
- rabbitmq - RabbitMQ:消息的循环分发与单队列的主题交换
- r - Pch 不绘制圆圈,只绘制线条
- python - Python:如何从矩阵/数据框中的前面的列中减去每 n 列?
- angular - Mat 表中的 Mat 异步排序,MatPaginator 不起作用,模板中异步分配的数据源