如何使用此代码?我想在我的地图中添加像汽车一样的移动标记

时间:2015-02-09 15:15:21

标签: android eclipse

只想知道如何使用此代码? '因为每次我把这些代码粘贴到我的java中,都没有发生......请帮助我。我想在我的应用程序的地图内添加移动标记。  谢谢你的进步:)

private GoogleMap map;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.map);
    try {
        if(map == null) {
            map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
        }

        if(map != null) {

            map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
        }

    } catch(Exception e) {
        e.printStackTrace();

    }

}

 public void animateMarker(final Marker marker, final LatLng toPosition,
            final boolean hideMarker) {
        final Handler handler = new Handler();
        final long start = SystemClock.uptimeMillis();
        Projection proj = map.getProjection();
        Point startPoint = proj.toScreenLocation(marker.getPosition());
        final LatLng startLatLng = proj.fromScreenLocation(startPoint);
        final long duration = 500;

        final Interpolator interpolator = new LinearInterpolator();

        handler.post(new Runnable() {
            @Override
            public void run() {
                long elapsed = SystemClock.uptimeMillis() - start;
                float t = interpolator.getInterpolation((float) elapsed
                        / duration);
                double lng = t * toPosition.longitude + (1 - t)
                        * startLatLng.longitude;
                double lat = t * toPosition.latitude + (1 - t)
                        * startLatLng.latitude;
                marker.setPosition(new LatLng(lat, lng));

                if (t < 1.0) {
                    // Post again 16ms later.
                    handler.postDelayed(this, 16);
                } else {
                    if (hideMarker) {
                        marker.setVisible(false);
                    } else {
                        marker.setVisible(true);
                    }
                }
            }
        });
    }
}

.......

1 个答案:

答案 0 :(得分:0)

从一个简单的应用程序开始,了解如何使用代码。但在这种情况下,我没有看到使用animateMarker方法。你需要一个会引起它的人(例如,按钮)。