android - 向集群标记添加动画?

标签 android google-maps animation markerclusterer

简单的问题......如何在集群将其绘制在 map 上之前将动画添加到集群的标记!?我一直在寻找,但没有希望。我只需要知道从哪里开始

这就是我添加集群的方式以及我尝试制作动画的方式

private class AddMarker implements Runnable {
private MarkerOptions options;

public AddMarker(MarkerOptions options) {
    this.options = options;
}

@Override
public void run() {
    MyPoi poi = new MyPoi(options.getPosition());
    mClusterManager.addItem(poi);
    List<Marker> markers = new ArrayList<>();
    markers.addAll(mClusterManager.getMarkerCollection().getMarkers());
    if(markers.size() == 0){

    }else if (markers.size() == 1){
        animateMarker(markers.get(0),Constants.MARKER_ADD);
    }else if(markers.size() > 1){
        animateMarker(markers.get(markers.size()-1),Constants.MARKER_ADD);
    }

    mClusterManager.cluster();
    //Marker newMarker = googleMap.addMarker(options);
    //newMarker.setIcon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE));
}
}

最佳答案

这是我的解决方案:

private void setMarkerBounce(Marker marker) {
    for (final com.google.android.gms.maps.model.Marker m : mClusterManager.getMarkerCollection().getMarkers()) {
        if (m.getPosition().equals(marker.getPosition())) {
            final Handler handler = new Handler();
            final long startTime = SystemClock.uptimeMillis();
            final long duration = 2000;
            final Interpolator interpolator = new BounceInterpolator();
            handler.post(new Runnable() {
                @Override
                public void run() {
                    long elapsed = SystemClock.uptimeMillis() - startTime;
                    float t = Math.max(1 - interpolator.getInterpolation((float) elapsed / duration), 0);
                    m.setAnchor(0.5f, 1.0f + t);

                    if (t > 0.0) {
                        handler.postDelayed(this, 16);
                    }
                }
            });
            return;
        }
    }
}

它有点丑,但工作正常。您必须传递您的自定义 ClusterItem 实例。

关于android - 向集群标记添加动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28783757/

相关文章:

r - 使用 .png 文件在 R 中创建动画 (.gif)

Android webview加载数据性能很慢

Android Studio-无模块

javascript - 无法在 angular-google-maps 中动态传递 map 样式

android - 如何在非 Activity 文件中调用 SupportMapFragment,即 RecyclerView Adapter

javascript - 椭球运动缓和方程

Android .out.xml 错误?

Android NDK 默认位置

java - Google map 中的自动完成搜索栏

CSS3 Transform 向左平移