更新元素在 Azure Maps 中的位置 Android
Update position of element in Azure Maps for Android
我正在使用 Azure Maps Android SDK 在地图上绘制图标。
我目前这样做的方式是为每个元素添加一个新的数据源,并使用此数据源添加一个新的 SymbolLayer 并为图标添加一个可绘制对象。
每次图标的位置发生变化时,我都会删除此 SymbolLayer 并添加一个具有更新数据源的新图标。
每次位置更新时,图标都会闪烁一秒钟,我希望有一种更流畅的方式。
虽然这有效,但我想知道这是否真的是处理头寸更新的预期方式?
是的,这是可以做到的。关键是 pin.setCoordinates()
调用。
这里有一个演示...
https://azuremapscodesamples.azurewebsites.net/Animations/Simple%20Symbol%20Animation.html
这些示例是在 JS 中,但我想 Android SDK 具有相同的 SDK。
您可以通过更新数据源本身来实现符号的平滑动画移动。
对数据源的更改将通过现有图层立即反映在地图上。
dataSource.clear();
dataSource.add(featureCollection);
我正在使用 Azure Maps Android SDK 在地图上绘制图标。 我目前这样做的方式是为每个元素添加一个新的数据源,并使用此数据源添加一个新的 SymbolLayer 并为图标添加一个可绘制对象。 每次图标的位置发生变化时,我都会删除此 SymbolLayer 并添加一个具有更新数据源的新图标。 每次位置更新时,图标都会闪烁一秒钟,我希望有一种更流畅的方式。 虽然这有效,但我想知道这是否真的是处理头寸更新的预期方式?
是的,这是可以做到的。关键是 pin.setCoordinates()
调用。
这里有一个演示... https://azuremapscodesamples.azurewebsites.net/Animations/Simple%20Symbol%20Animation.html
这些示例是在 JS 中,但我想 Android SDK 具有相同的 SDK。
您可以通过更新数据源本身来实现符号的平滑动画移动。
对数据源的更改将通过现有图层立即反映在地图上。
dataSource.clear();
dataSource.add(featureCollection);