在没有目的地的情况下获取 Google 地图上 x 公里后的纬度经度?

2023-12-15

我正在创建一个Android应用程序需要在 X 公里后找到同一条路线上的坐标。

我有两个坐标x1,y1 & x2,y2在一条路上。现在,我的要求是找到坐标x3,y3大约 3 公里后(即坐标x2,y2不在之间x1,y1 & x2,y2)在同一条路上。

如何才能实现这一目标?


如果您知道bearing,即可计算出目的地坐标。

示例代码:

private LatLng getDestinationPoint(LatLng source, double brng, double dist) {
        dist = dist / 6371;
        brng = Math.toRadians(brng);

        double lat1 = Math.toRadians(source.latitude), lon1 = Math.toRadians(source.longitude);
        double lat2 = Math.asin(Math.sin(lat1) * Math.cos(dist) +
                                Math.cos(lat1) * Math.sin(dist) * Math.cos(brng));
        double lon2 = lon1 + Math.atan2(Math.sin(brng) * Math.sin(dist) *
                                        Math.cos(lat1),
                                        Math.cos(dist) - Math.sin(lat1) *
                                        Math.sin(lat2));
        if (Double.isNaN(lat2) || Double.isNaN(lon2)) {
            return null;
        }
        return new LatLng(Math.toDegrees(lat2), Math.toDegrees(lon2));
    }

使用示例:

   double radiusInKM = 10.0;
   double bearing = 90;
   LatLng destinationPoint = getDestinationPoint(new LatLng((25.48, -71.26), bearing, radiusInKM);

或者您可以使用 pointA 和 pointB 之间的航向而不是方位角:

LatLng destinationPoint = getDestinationPoint(new LatLng(37.4038194,-122.081267), SphericalUtil.computeHeading(new LatLng(37.7577,-122.4376), new LatLng(37.4038194,-122.081267)), radiusInKM);

The SphericalUtil.computeHeading(p1, p2);方法是来自Android 谷歌地图实用程序库.

这是基于 Javascript 方法的这个 Stackoverflow 答案.

如果您想要同一条路上的点,您可以结帐这个 PHP 答案.

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

在没有目的地的情况下获取 Google 地图上 x 公里后的纬度经度? 的相关文章

  • Android - 如何访问 onResume 中 onCreate 中实例化的 View 对象?

    In my onCreate 方法 我正在实例化一个ImageButton View public void onCreate Bundle savedInstanceState super onCreate savedInstanceSt
  • 合并两个位图图像(并排)

    任何人都可以帮助将两个位图图像合并为单个位图 在android中 并排 谢谢 尤瓦拉吉 您可以使用Canvas 查看这篇文章 http www jondev net articles Combining 2 Images in Androi
  • ImageView 中的全尺寸图像

    我正在尝试在 ImageView 中绘制图像 但我希望它不缩放 并根据需要使用滚动条 我怎样才能做到这一点 现在我只有一个可绘制集作为 XML 中 ImageView 的 android src 这会自动缩放图像以适应屏幕宽度 我读到这可能
  • 如何改变android中menuItem的背景颜色?

    我正在以编程方式将菜单项添加到菜单中 我想在选择特定项目时添加背景颜色 如何为 menuItem 添加背景 您的回答将不胜感激 虽然其他答案提供了更改样式 这会影响all菜单项 据我了解 需要更改一个菜单项 我建议你使用android ac
  • 查找回收器视图中的第一个可见项目是否是列表的第一项

    我有一个包含 13 个数据项的回收器视图 我想知道列表中的第一项是否可见 我知道像这样的方法findFirstVisibleItemPosition and findLastVisibleItemPosition但他们没有说明第一个可见项目
  • doInBackground 运行时是否可以停止 asynctask?

    我正在 ActivityB Oncreate 中创建异步任务 在该任务中 我正在运行无限 while 循环doInBackground 当我转到上一个活动并再次回到该活动时 创建了另一个异步任务 我的问题现在是两个无限 while 循环正在
  • Backbone.js 与 Google 地图 - 有关此问题和侦听器的问题

    我有一个为 Google Maps v3 创建的模块 我正在尝试将其转换为 Backbone js 视图构造函数 到目前为止 这是我的视图模块 我将解释代码后遇到的问题 pg views CreateMap Backbone View ex
  • 如何在照片删除后刷新 Android 的 MediaStore

    问题 如何使媒体存储刷新其已删除文件的条目 从外部存储中删除代码中的照片后 我仍然在图库中看到已删除照片的插槽 空白照片 画廊似乎反映了媒体存储 并且在媒体存储中找到了已删除的照片 直到手机重新启动或通常 直到重新扫描媒体为止 尝试扫描已删
  • 6:需要显示BuyFlow UI

    There is a problem when i am click on payWithGoogle Button I am implementing Google Pay in my Android Application and wh
  • 如何将单选按钮状态保存到已保存/共享首选项?

    我可以在保存的首选项中保存字符串 但很难保存单选按钮 public class PersonalDetailsf extends Activity private SharedPreferences sharedPreferences pr
  • 如何在 Android 清单文件中设置文本外观?

    是否可以做相当于 setTextAppearance context android R style TextAppearance Medium 在 Android 应用程序的清单文件中 android textAppearance and
  • Locale.getDefault().getCountry() 返回空字符串

    我正在尝试使用国家 地区代码获取用户语言 例如en US es es 但是当我使用Locale getDefault getCountry 它返回空字符串 虽然它给了我正确的语言Locale getDefault getLanguage N
  • 手动启用时 Firebase Crashlytics 不报告崩溃

    Crashlytics 在没有选择加入报告的情况下也能正常工作 但一旦我根据规定设置了选择加入报告 它就会停止报告任何内容tutorial https firebase google com docs crashlytics customi
  • Android:如何监控WiFi信号强度

    当信号强度发生变化时我会收到通知 我尝试创建以下方法并在 onCreate 中调用它 private void initializeWiFiListener Log i TAG executing initializeWiFiListene
  • 点击监听器的公共类

    我的所有 6 项活动中有 7 个按钮 所有 6 个按钮在所有活动中都具有相同的功能 如何为这 6 个按钮执行通用的单击事件侦听器 您可以创建一个实现 View OnClickListener 的新类 如下所示 public class My
  • Android开发:未定义方法

    大家好 我是 Android 和 Eclipse 的新手 我刚刚遵循了developer android com 上的教程 现在我在添加操作栏 http developer android com training basics actio
  • Android:单一活动,多个视图

    我不是 Android 专业人士 尽管我开发了一个包含 50 多个活动的应用程序 这使得该应用程序非常庞大 经过8周的开发 现在出现了一些问题 导致应用程序难以维护和升级 我正在处理的主要问题是 我无法将对象引用传递给活动的构造函数 事实上
  • 如何更改锁屏自定义文本(所有者信息)?

    我写了程序代码 String message This is test Settings System putString context getContentResolver Settings Secure LOCK PATTERN EN
  • Google Android Drive api 在已安装版本上登录失败

    我开发了一个使用 GoogleDrive api 的 Android 应用程序 当处于调试状态或运行调试版本时 应用程序 工作正常 并正确验证附加的谷歌帐户 等 当我构建发行版本时 使用我的签名密钥 并且 安装apk文件 当我运行时 Goo
  • Jetpack Compose 部分或开放侧边框

    我正在尝试绘制部分或一侧开放的矩形圆形边框以实现此效果 玩了一下之后我得到了这个 这是通过以下方式完成的 RoundedCornerShape topStartPercent 50 bottomStartPercent 50 start R

随机推荐

  • 将 pyqtgraph 添加到 PyQt6

    所以我正在使用 Pyqt6 制作一个 GUI 并想在 Gui 中添加图形和其他数据 所以当我尝试添加图形时 我收到以下错误 调用 addWidget self QWidget 参数1具有意外类型 PlotWidget addWidget s
  • 慕尼黑第二级分组

    这是我的 xml 输入
  • 如何在公共场合创建和使用 Web 服务,但仍限制其仅用于我的应用程序?

    我正在创建一个带有创建 更新 删除调用的网络服务 但现在我想限制在我自己的网络应用程序上使用它 而不是其他客户端 我怎样才能拥有进行这些调用的明文 javascript 代码 但仍然确信凭证不会在其他地方使用 我的想法是为每个请求使用服务器
  • 如何在 C# Winform 中显示组合框中的第一项

    我有一个绑定到列表的组合框 我一直在尝试弄清楚如何在加载列表中的数据之前加载 Please Select 时在组合框中包含第一项 我试过这个 cbUpdate DataSource names cbUpdate Items Insert 0
  • Knockout.js 与 jquery ui datepicker 可以在除 IE 之外的任何地方工作

    我使用 knockout js 模板脚本创建了一个可以复制和删除的表单 小提琴可以找到here 我在 SE 的帮助下编辑了脚本 添加了 jquery ui 日期选择器 小提琴的简短版本可以在 此处 2 找到 到目前为止一切顺利 但在测试时我
  • 使用 GSON 将嵌套对象展平为目标对象

    最亲爱的Stackoverflowers 我想知道是否有人知道如何最好地解决这个问题 我正在与一个返回 json 对象的 api 进行通信 如下所示 field1 value1 field2 value2 details nested1 1
  • 如何在 Linux 上为 Aptana 设置内部浏览器

    我下载了 Aptana Studio Setup Linux zip 包 解压并运行 AptanaStudio 一开始很好 但报告了一个问题 无法创建此编辑器的嵌入式浏览器小部件 它不适用于您的操作系统 或者需要配置系统才能支持嵌入式浏览器
  • 是否可以从不同的布局初始化视图?

    我有一个Activity并与之相关layout 另外我还有另一个layout和一些Views 我想初始化一个变量 TextView 从我的Activity用一个View从那个独立的layout 我总是得到null public void o
  • 如何在 C# 应用程序中使用 Shell32?

    为了使 Shell32 正常工作 我应该在 C 应用程序中包含什么 Edit 我的应用程序无法识别 shell32 我应该包含哪些参考文献或库 我想做的是 Shell32 Shell shell new Shell32 Shell 我收到的
  • 全日历 slotMinutes 不起作用

    我想在我的日历中显示 15 分钟的 slotMinutes 但这不起作用 在这个小提琴上效果很好 document ready function var calendar calendar fullCalendar defaultView
  • Android - 无法获取某些联系人的电话号码

    我在提取联系人列表中某些人的电话号码时遇到问题 首先 我在列表视图中显示所有联系人 String projection new String ContactsContract Contacts ID ContactsContract Com
  • 如何在弹出通知时播放声音?

    我正在开发一个应用程序 用户可以使用两个开关按钮打开 关闭通知和通知声音 我创建了在状态栏上弹出的通知 我想在它们出现时播放默认声音 我编写了以下代码 但它似乎不起作用 关于如何让通知声音播放有什么想法吗 import android an
  • 连接两个 JInternalFrame 实例的 CubicCurve2D

    我一直在尝试找到一种方法 在 Swing 中 连接两个JInternalFrame与一个CubicCurve2D 也称为三次贝塞尔曲线 我想要实现的总体效果是一个类似于雅虎 管道 曲线应从一个内部框架的底部延伸到另一个内部框架的顶部 这里有
  • 如何在任何打开的窗口中获取鼠标下的文本

    我正在做一个C 语言的项目 我想制作一个类似于 Narcis 或 Easylingo 的词典 用户可以使用鼠标 只需在任何应用程序中将光标移动到单词上 然后程序就会检测到该单词并找到该特定单词的含义 我的问题是如何在 Microsoft O
  • 为什么 SetWindowsHookEx 必须与 Windows 消息队列一起使用

    我一直在尝试使用钩子进行一些操作 但我不明白为什么钩子必须与消息队列一起使用 hook SetWindowsHookEx WH KEYBOARD LL KeyboardProc NULL 0 MSG msg while GetMessage
  • 为什么c++标准库不起作用?

    我一直在尝试让我从学校服务器下载的程序在我的 Mac 上离线运行 我尝试按照教程更新 GCC 但由于某种原因 即使我使用了给定的命令 教程也不起作用 现在 当我编译时 我收到一条错误 指出未找到 我不明白 我已经更新了 Xcode 遵循了大
  • Android:画布层上的 UI 元素

    如何在画布上 顶部 设置一些 UI 元素 我有一个简单的触摸游戏 其图形放置在带有画布的自定义视图上 然而 由于我的全屏面板位于 setContentView 中 我无法添加任何 UI 项目 例如进度条或徽标 我希望整个画布层可见 一些对象
  • 让 Hibernate 忽略未映射的实例变量[重复]

    这个问题在这里已经有答案了 我认为 hibernate 仅考虑带有注释的实例变量 Column 但奇怪的是 今天当我添加一个变量 未映射到任何列 只是类中需要的变量 时 它试图将该变量作为列名包含在 select 语句中并引发错误 字段列表
  • 我如何告诉 jaxb / Maven 生成多个模式包?

    Example
  • 在没有目的地的情况下获取 Google 地图上 x 公里后的纬度经度?

    我正在创建一个Android应用程序需要在 X 公里后找到同一条路线上的坐标 我有两个坐标x1 y1 x2 y2在一条路上 现在 我的要求是找到坐标x3 y3大约 3 公里后 即坐标x2 y2不在之间x1 y1 x2 y2 在同一条路上 如