-
ChinaMapView是一款可缩放、平移和点击的自定义视图,完整展示中国地图及其所有省份,并为每个省份提供独立的点击接口
资源介绍
区域热力地图ChinaMapView
ChinaMapView :这是一个可拖拽,可点击,可手势放大的自定义中国地图组件,使用简单,成为一个自定义视图应有的基本素质
原理:绘画地图用路径,缩放拖拽矩阵,判断点击位置用区域,判断滑动和缩放过程中的地图边界用Matrix.mapRect
功能:
1,可随手势预期,到边界替换相应方向的滑动,并且只有down的点在地图内才可以预期。
2,可随缩放手势放大缩小,放大缩小的手势不做任何限制,只要在查看内即可。
3,点击某个省份一部分该选择事件,传递出省份名字
4,提供了刷新入口(数据更改刷新)
基本素质:
1,旋转屏幕状态不丢失,转之前啥样,回来还是啥样(在SaveInstanceState和onRestoreInstanceState处理好)
2,暴露事件冲突接口,允许外部操作父控件的事件及该视图自己的事件(因为这只是一个视图,没办法直接处理所有的滑动冲突场景)
3,内存缓冲区要小,防止内存溢出。
示例(真机还比较流畅,压缩的GIF丢帧严重)
Demo演示了普通用法和涉及到SWipeRefreshLayout + AppBarLay