在运行时更改目标坐标(动态)

Posted

技术标签:

【中文标题】在运行时更改目标坐标(动态)【英文标题】:Changing destination coordinates at runtime (Dynamically) 【发布时间】:2016-12-20 15:15:02 【问题描述】:

我想编写一个 android 应用程序,用户 A 可以在其中自行导航到用户 B(使用 Google 地图和他们的导航器)。 但我希望我的 android 应用程序能够实时更新 user B 的坐标并将其发送给 user A

我的问题是:用户 A 有没有办法检索更新后的坐标 AND 没有得到每次用户 B 改变位置时计算的新路线?

由于我希望我的用户 B 每 15 米发送一次新坐标,如果 用户 A 每次都得到一个新的路线计算,那就太糟糕了。

【问题讨论】:

【参考方案1】:

您可以在渲染器上使用setDirection() 方法并将其传递给DirectionsResult。 DirectionsResult 包含路线查询的结果,您可以自己处理,也可以自动处理在地图上显示结果。渲染器是一个 MVCObject,它会自动检测其属性的任何变化,并在其关联方向发生变化时更新地图。

以下示例计算 Route 上两个位置之间的方向,其中起点和终点由下拉列表中给定的“开始”和“结束”值设置。 DirectionsRenderer 处理指示位置之间的折线显示,以及在起点、目的地和任何航点(如果适用)放置标记。

function calcRoute() 
  var start = document.getElementById('start').value;
  var end = document.getElementById('end').value;
  var request = 
    origin: start,
    destination: end,
    travelMode: 'DRIVING'
  ;
  directionsService.route(request, function(result, status) 
    if (status == 'OK') 
      directionsDisplay.setDirections(result);
    
  );

【讨论】:

感谢您的回答。所以我想我需要在我的原生 android 应用程序中使用 webview 才能呈现变化的位置,对吗?或者是否可以在没有 webview 的情况下向控制器和客户端(视图)发送新的目的地?您能描述一下使用 MVCObject 显示带有导航的 Google 地图的第一步吗? 这里是扩展 MVObject 的指南:developers.google.com/maps/documentation/javascript/reference @user3506 上面的问题你得到答案了吗? 使用 setDirections 导致刷新标记并导致用户体验不流畅,您确实有任何方法可以平滑体验。

以上是关于在运行时更改目标坐标(动态)的主要内容,如果未能解决你的问题,请参考以下文章

springaop动态加载不同类

在运行时动态更改 QML 主题

如何在运行时更改动态添加的 Android 视图中的数据

如何在运行时动态更改组件模板?角 4

动态地,在运行时,如何在 WPF 中更改文本框中某些单词的颜色?

如何在XAML中动态更改运行时的PATH DATA属性?