在 HEREMAPS 中将标记位置动画化到另一个位置

Animate marker location to another in HEREMAPS

目前,我正在开发一个类似于优步的地图应用程序,并且由于我使用的是 Google 的定位服务“间歇线程”,所以我每 10-20-30 秒获取一次用户位置,并在map,通过简单地清理现有的 List ,并在其中插入另一个标记。

这使得用户图标看起来就像在地图上真正地“传送”。

我做了一些研究,但我无法找到示例或在 Heremaps 资源管理器版中可以完成的示例。

我知道我所要做的就是只处理一个对象,而不是清除我的列表并在其中放置另一个对象。

任何帮助将不胜感激,提前致谢。

借助 HERE SDK 的 Explore Edition,您可以使用 MapCameraflyTo() 方法。可以高度自定义两个不同坐标之间的动画速度和类型。

举一个简单的例子,你如何在不“传送”的情况下在两个坐标之间移动:

private void flyTo(GeoCoordinates geoCoordinates) {
    GeoCoordinatesUpdate geoCoordinatesUpdate = new GeoCoordinatesUpdate(geoCoordinates);
    double bowFactor = 1;
    MapCameraAnimation animation =
            MapCameraAnimationFactory.flyTo(geoCoordinatesUpdate, bowFactor, Duration.ofSeconds(3));
    mapCamera.startAnimation(animation);
}

每当你设置一个新的坐标作为相机的目标时,它会立即切换到那个位置 - 因此它看起来像传送。使用线性(或像上面那样的弓形)动画,它看起来会更平滑,事实上,前一个位置和新位置之间的坐标是“插值”的。

随着 Navigate Edition,还有一个 InterpolationListener,可用于在使用定位源时提供平滑的插值位置更新。