地理点之间的距离

2023-11-26

我在计算两个地理点之间的距离时遇到问题。

地理点是:

position1 = mapView.getProjection().fromPixels(
(int) e.getX(),
(int) e.getY());

另一个

double lat = 35.1064;
double lng = 22.556412;
GeoPoint position2 = new GeoPoint((int)(lat * 1E6), (int)(lng * 1E6));

然后我创建两个位置:

Location loc = new Location("");                                

loc.setLatitude(position1.getLatitudeE6());

loc.setLongitude(position1.getLongitudeE6());

Location loc2 = new Location("");                               

loc.setLatitude(position2.getLatitudeE6());

loc.setLongitude(position2.getLongitudeE6());

然后我计算距离:

float distance = loc.distanceTo(loc2);

我把它四舍五入:

Math.round(distance);

但我得到的结果如下:

1.4331783E7

我究竟做错了什么?


尝试按照我的方法,

    /**
 * 
 * @param lat1 Latitude of the First Location
 * @param lng1 Logitude of the First Location
 * @param lat2 Latitude of the Second Location
 * @param lng2 Longitude of the Second Location
 * @return distance between two lat-lon in float format
 */

public static float distFrom (float lat1, float lng1, float lat2, float lng2 ) 
{
    double earthRadius = 3958.75;
    double dLat = Math.toRadians(lat2-lat1);
    double dLng = Math.toRadians(lng2-lng1);
    double a = Math.sin(dLat/2) * Math.sin(dLat/2) +
    Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) *
    Math.sin(dLng/2) * Math.sin(dLng/2);
    double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
    double dist = earthRadius * c;

    int meterConversion = 1609;

    return new Float(dist * meterConversion).floatValue();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

地理点之间的距离 的相关文章

  • ndk-build error.opencv2/core/core.hpp:没有这样的文件或目录

    我在 Android 中使用 OpenCV Nonfree 模块时遇到问题 我读了这个教程https sites google com site wghsite technical notes sift surf opencv androi
  • 突出显示列表视图项目

    我需要在触摸列表视图项目时突出显示它并保持突出显示状态 我尝试了我发现的一切 但没有任何效果 这是我的代码 这是列表视图
  • 无法接收UsbManager.ACTION_USB_DEVICE_ATTACHED/UsbManager.ACTION_USB_DEVICE_DETACHED的广播Intent

    我最近正在编写一个 USB 主机应用程序 但它被卡住了 因为我无法检测到设备连接 分离事件 我遵循了编码说明http developer android com guide topics connectivity usb host html
  • 构建应用程序时出现 BufferOverflowException

    每次我想运行我的 Android 应用程序时 我都会收到错误 2013 11 02 13 05 36 Dex Loader Unable to execute dex java nio BufferOverflowException Che
  • 如何从画布中删除路径区域(Android)

    我需要裁剪角落ImageView 不要将它们弄圆 而是擦除每个角上的三角形 似乎唯一的方法就是覆盖onDraw方法并使用从画布上删除这些区域Path 问题是我没有纯色背景 所以我需要擦除这些区域 但不要用某种颜色填充它们 我为此使用以下代码
  • Android - 使用 SAX 解析器解析大文件

    我正在尝试使用 SAX 解析器解析来自 webservice 的 xml 数据 当我尝试使用 URL 解析数据 大小 7 4MB 时 它工作正常 但是当我从 URL 复制 xml 数据并放置 xml 文件时 size 7 4MB 在raw文
  • 何时调用 glMatrixMode()

    我所关注的大多数 Android OpenGL ES 教程都有其 onSurfaceChanged 函数 如下所示 public void onSurfaceChanged GL10 gl int width int height gl g
  • 通过配置更改保留 CoroutineScope 的干净方法,无需 ViewModel

    我知道建议是在我们的 Activity 中使用 ViewModel 这样我们就可以使用它viewModelScope 由于 ViewModel 的寿命比 Activity 的寿命长 因此我们不必取消以下作业activity onDestro
  • 如何创建环境变量来保护我的网站的 Google 地图 API 密钥(或任何其他秘密值)?

    我正在学习使用 Bootstrap 编写自己的网站 并使用 Google 地图 API 密钥和 Google Developers 的脚本轻松地将地图放置在我的页面上 理想情况下 我会有类似的东西 即我已经尝试过这个 Html PHP
  • 谷歌地图API v3如何获取所有形状的坐标

    我有这个谷歌脚本 可以创建形状和删除形状 但没有太多关于保存形状的信息 我查了一下互联网 知道我可以通过 overlaycomplete 中的 getpaths 访问路径坐标 而且我还可以将坐标推入一个收集所有形状的数组中 但是 如果用户删
  • DialogFragment 关闭事件

    我需要处理 DialogFragment 的结尾 在调用 dismiss 之后 例如 我会在关闭后 包含 片段的活动内显示一个 toast 我该如何处理该事件 覆盖onDismiss 在你的DialogFragment中 或者使用setOn
  • 如何获取Android中的所有主屏幕?

    我是安卓开发新手 我知道每个主屏幕都是启动器中的一个工作区 我想获取屏幕上所有应用程序图标的所有位置信息 那么有没有办法获取这些屏幕对象及其图标信息的列表 ADD 我更期待的是应用程序图标和屏幕之间的关系 例如 我想要某个应用程序图标的位置
  • onStart() 到底做了什么? - 安卓[重复]

    这个问题在这里已经有答案了 一段时间以来 我一直想知道 onStart 函数在 android 生命周期中的确切作用 网上的大多数资源只是说 它在您的活动在屏幕上可见之前被调用 但到目前为止我所做的应用程序我从未使用过onStart 我在
  • Android - 检测视图上的双击和三次点击

    我一直在尝试构建一个可以检测双敲击和三敲击的敲击检测器 在我的努力失败后 我在网上搜索了很长时间以找到可以使用的东西 但没有运气 奇怪的是 像这样的图书馆如此稀缺 有什么帮助吗 你可以尝试这样的事情 尽管我通常建议不要使用三次点击作为一种模
  • Android:选择 EditField 上焦点上的所有文本

    我试图让 Android 在获得焦点时选择 EditText 字段中的所有文本 我在布局中使用此属性 在两个字段上 android selectAllOnFocus true 我不确定这是否相关 但为了将光标移动到第一个可编辑字段 前面 还
  • JavaScript 点击事件在 Android 4.0.4 默认浏览器上的 Samsung Galaxy SIII 上不起作用

    我在 Android 4 0 4 上使用 Samsung Galaxy SIII 的默认浏览器时遇到了最奇怪的问题 对于以下页面 单击链接将不会触发 JavaScript 处理程序 从其中一个 div 的内容中删除单个 a 字母使它们再次工
  • 在 VideoView 开始播放之前,TextView 不会显示

    我编写了一个android应用程序 它有两个视图 TextView上方的VideoView 位于ScrollView内部 我遇到了一个问题 直到VideoView开始播放视频 TextView才显示 并且我有一个黑屏 这可能需要很长一段时间
  • AndroidAnnotations 和 Dagger

    我正在尝试使用 Dagger 注入 Android 带注释的 Activity java lang IllegalArgumentException No inject registered for members com app serv
  • 使用 PDFBox 在 Android 中创建 PDF

    我正在尝试通过我的 Android 应用程序创建 PDFPDFBoxapi 但出现以下错误 java lang NoClassDefFoundError org apache pdfbox pdmodel PDDocument 我已经将以下
  • FCM(Firebase Cloud Messaging)如何发送到所有手机?

    我创建了一个小型应用程序 能够从 FCM 控制台接收推送通知 我现在想做的是向所有使用 API 安装应用程序的 Android 手机发送推送通知 这就是我完全迷失的地方 有没有办法在不收集所有注册ID的情况下将其发送到所有手机 这是否仅适用

随机推荐

  • 获取总和最大的子矩阵?

    Input 二维数组 NxN 矩阵 具有正数和负数元素 Output 任意大小的子矩阵 其总和是所有可能的子矩阵中的最大值 要求 算法复杂度为O N 3 History 在算法师 Larry 的帮助下以及对 Kadane 算法的修改 我成功
  • java中查找字符串的所有大写字母

    所以我试图找到用户输入的字符串中的所有大写字母 但我不断收到此运行时错误 Exception in thread main java lang StringIndexOutOfBoundsException String index out
  • 删除特定匹配后的所有字符

    我正在使用 Notepad 从模式末尾删除一些不需要的字符串 这对我来说已经是我的生活了 我有以下几组字符串 myApp ComboPlaceHolderLabel myApp GridTitleLabel myApp SummaryLab
  • 使用 importlib 动态导入包含相对导入的模块

    我试图弄清楚如何以编程方式执行包含相对导入的模块 伪代码 spec importlib util spec from file location name path mod importlib util module from spec s
  • Xcode 和 XIB 自我文档 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 有没有一个工具可以记录许多 Xcode 绑定 插座和IBAction绑定 键值绑定等 我看过以下主题Doxygen and 标题文档 但是这些文档程
  • 如何使用FirefoxProfile通过Firefox浏览器自动下载?

    我正在使用 selenium java 我需要下载 pdf 文件 我提到this this并且this答案在这里 但似乎在我的情况下没有任何效果 是否是由于设置了新的 Firefox 驱动程序实例 即System setProperty w
  • 有没有办法在 Visual Studio 中的 F# 中发出阴影值警告?

    对我来说 现有价值观的阴影如下所述 阴影和嵌套函数 F 中不可变 f 重复定义 FSharp 好玩又赚钱的评论 似乎违背了使 F 如此强大的不变性和类型安全的概念 F 中的阴影工作不同的比在 C 中 我花了相当长的时间才发现我的代码中的错误
  • 在 Haskell 中检索文件大小的 hFileSize 更快替代方案?

    我想知道如何以最少的开销获取 haskell 中文件的大小 现在我有以下代码 getFileSize FilePath gt IO Integer getFileSize x do handle lt openFile x ReadMode
  • PHP 数组的平均时间

    如何从一组时间中计算出平均时间 我有一个看起来像这样的数组 17 29 53 16 00 32 我希望达到这个结果16 45 12使用 PHP date H i s array sum array map strtotime array c
  • 如何在 Google Chrome 中查看 HTTP 标头?

    在 9 x 之前 标题位于开发人员工具中的资源下 但现在我在任何地方都找不到它 我不确定您的确切版本 但 Chrome 有一个 网络 选项卡 其中包含多个项目 当我单击它们时 我可以在选项卡右侧看到标题 Press F12 on windo
  • 我成功地从 C# 调用了 advapi32 的 LsaEnumerateAccountRights()。现在如何解组它返回的 LSA_UNICODE_STRING 数组?

    它是一个指向数组的指针LSA UNICODE STRING结构 我发现一些代码可以做相反的事情 即创建一个LSA UNICODE STRING来自 C 字符串 您可以在下面的帮助程序代码部分中看到这一点 我正在做什么 包括打电话给LsaEn
  • 入口 nginx 缓存

    我试图弄清楚如何使用 nginx 代理缓存和一些特定的规则 例如 当我托管 Ghost 或 Wordpress 时 我不想缓存管理部分 使用服务器片段 我尝试了很多不同的组合 但管理部分的缓存仍然存在问题 nginx ingress kub
  • 如何在 Grails 中创建包含所有 i18n 消息的映射

    我需要它在控制器中渲染它的一部分 例如 class MessageController def index def messageMap listAlli18nMessages the question render contentType
  • Python 3.5 与 Python 2.7:模块导入子模块

    过去几个小时我一直在谷歌上搜索这个问题 但在任何地方都找不到类似的问题 此外 2 7 和 3 5 的文档似乎相同 因此我认为这种行为没有记录 这是我的目录结构 project project py api init py subapi in
  • maven-jaxb2-plugin VS jaxb2-maven-plugin 用于多个模式

    我有多个 xsd 模式 我想将它们解组到不同的包中same folder target generated sources xjc 我尝试了这两个插件 似乎都可以很好地使用这两种配置 但在 maven jaxb2 plugin 的情况下 e
  • MYSQL左连接结果的最后一行

    我需要一些 MYSQL 帮助 我有一个名为 Tickets 的表和一个名为 statusLogs 的表 我该如何 select t sl statusId from ticket LEFT JOIN select from statusLo
  • 使用扩展方法的实体框架分页很慢?

    我在 C 的实体框架中遇到查询缓慢的问题 我创建了一个名为 Page 的扩展方法来处理分页 但是当我使用它时 查询变得非常慢 如果我只是执行 Skip page Value pageSize Value Take pageSize Valu
  • 当目标是类型时,为什么 Coq 不允许反转、析构等?

    When refine正在运行一个程序 我试图通过以下方式结束证明inversion on a False假设当目标是Type 这是我尝试做的证明的简化版本 Lemma strange1 forall T Type 0 gt 0 gt T
  • 如何实现一个具有placement new和emplace功能的简单容器?

    我需要实现一个容器来容纳一定数量的元素 并且出于某种原因 它必须在没有任何堆分配的情况下工作 另一个要求是 容器元素不应以任何方式复制或移动 它们必须直接构建到容器分配的内存中 为此 我决定使用placement new并将内存管理完全委托
  • 地理点之间的距离

    我在计算两个地理点之间的距离时遇到问题 地理点是 position1 mapView getProjection fromPixels int e getX int e getY 另一个 double lat 35 1064 double