Android高德地图自定义地图指南针

来源:互联网 发布:php 租车系统源码下载 编辑:程序博客网 时间:2024/04/29 20:49

高德地图的指南针默认位置在地图的左上角,并且位置不可以修改。我们可以自定义一个指南针。
效果如下图
这里写图片描述

1.在布局文件定义一个ImageView

                      <ImageView                        android:id="@+id/iv_compass"                        android:clickable="true"                        android:src="@drawable/icon_compass"                        android:layout_width="35dp"                        android:layout_height="35dp"                        android:scaleType="fitXY"                      />

2.监听地图旋转角度

     aMap.setOnCameraChangeListener(new AMap.OnCameraChangeListener() {            @Override            public void onCameraChange(CameraPosition cameraPosition) {                startIvCompass(cameraPosition.bearing);            }            @Override            public void onCameraChangeFinish(CameraPosition cameraPosition) {            }        });

3.设置ImageView旋转动画

  private float lastBearing = 0;    private RotateAnimation rotateAnimation;    private void startIvCompass(float bearing) {        bearing = 360 - bearing;        Log.d(TAG, "startIvCompass: " + bearing);        rotateAnimation = new RotateAnimation(lastBearing, bearing, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);        rotateAnimation.setFillAfter(true);        ivCompass.startAnimation(rotateAnimation);        lastBearing = bearing;    }
原创粉丝点击