我想实现平滑过渡以模拟在地图上移动的汽车标记.
是否可以在android map api v2中设置动画标记?
android google-maps android-maps android-mapview google-maps-android-api-2
我用XML创建了一个AnimationDrawable,它工作正常.但是在将drawable移动到MapView作为叠加标记(替换一个工作正常的静态drawable)时,动画固执地拒绝播放.我已将调用start()移动到一个按钮进行测试,即使在MapView显示几秒后按下,动画也无法启动.我在logcat中什么也看不到.我知道start()需要在所有窗口设置完成后调用,但这似乎是一个单独的问题.
AnimationDrawables与MapView兼容吗?
有什么特别的东西需要我在MapView中做一个工作吗?
你有没有成功地在MapView中完成一项工作?
使用Matt的解决方案(下面)我通过将ImageView放在MapView的图层中而不是使用叠加来添加AnimationDrawable.
public void showAnimatedMarker(GeoPoint point) {
LinearLayout v = (LinearLayout) View.inflate(context, R.layout.markerlayout, null);
ImageView marker = (ImageView) v.findViewById(R.id.marker);
AnimationDrawable markerImage = (AnimationDrawable)marker.getDrawable();
this.addView(v, 0, new MapView.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, point, MapView.LayoutParams.BOTTOM_CENTER));
markerImage.start();
}
Run Code Online (Sandbox Code Playgroud)
然后是markerlayout.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/marker"
android:src="@drawable/my_animation_drawable"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud) 我正在为地图创建一个集群功能(v2).我将位置分组为群集,然后将群集显示为自定义标记:
这很好用,但我想在创建和拆分集群时创建动画.我通过在标记(注释)上创建UIView动画,成功地在iOS上做到了这一点.我在网上找不到任何代码/提示.
我设法得到一个简单的ImageView作为覆盖,类似于一个群集,然后使用a TranslateAnimation
来获得所需的动画.最后,我删除了此视图并添加了标记.
是否有更好的方法来标记标记?