高德地图实现Marker模拟gif动画

两个方法:

  • 1.markerOptions.icons(iconList);设置多张图模拟gif动画
  • 2.markerOptions.period(1);值越小刷新的越快

注意事项:

  • 如果显示了gif效果的marker,之后调用aMap.clear(),再添加带有gif的marker,可能出现带有gif的marker不显示;

解决方法:

  • 避免使用aMap.clear(),而是通过marker.remove()和aMap.invalidate()配合来移除marker,再刷新地图;
  • 删除对应marker的方法可以参考高德地图Marker的管理(添加,删除)
ArrayList iconList = new ArrayList<>();
laiYouLaiIconList.add(BitmapDescriptorFactory.fromResource(R.drawable.gif1));
laiYouLaiIconList.add(BitmapDescriptorFactory.fromResource(R.drawable.gif2));
laiYouLaiIconList.add(BitmapDescriptorFactory.fromResource(R.drawable.gif3));
laiYouLaiIconList.add(BitmapDescriptorFactory.fromResource(R.drawable.gif4));
laiYouLaiIconList.add(BitmapDescriptorFactory.fromResource(R.drawable.gif5));
laiYouLaiIconList.add(BitmapDescriptorFactory.fromResource(R.drawable.gif6));

//title一定要设,不然可能出现marker不显示
MarkerOptions options = new MarkerOptions();
options.title("xxx").snippet("xxx").anchor(float u,float v).position(businessAreaLatlngList.get(i)).icons(iconList).period(1);
aMap.addMarker(options);

anchor(float u,float v)定义marker 图标的锚点。
锚点是marker 图标接触地图平面的点。图标的左顶点为(0,0)点,右底点为(1,1)点。默认情况下,锚点为(0.5,1.0)。
必须传入0 到1 之间的数值

你可能感兴趣的:(android,高德地图,Android高德地图开发)