最近根據公司項目需求,需要制作場館的室內圖並且實現根據rfid信號的自動定位功能,研究了好久找到了一個目前為止還算好用的瓦片地圖工具——TileView。
github連接:https://github.com/moagrius/TileView
Gradle:
compile 'com.qozix:tileview:2.0.1'
這個控件的功能非常強大,你可以根據需求制作任意尺寸大小的地圖,可以添加marker標記,繪制路線,定位等等,如果你需要展示超大圖片,或制作自定義地圖應用這是你的不二選擇,地圖圖片可以保存在本地或者從網絡獲取;
幾個主要屬性的介紹:
tileView.setSize(int width,int height);//地圖加載最大級時的寬度和高度,可以是任意尺寸,本人項目中使用的是3720*2560完全無壓力;
tileView.addDetailLevel(float detailScale, String pattern, String downsample);//加載瓦片地圖 detailScale代表縮放級數,例如0.125f ,0.250f,0.500f,1.000f
tileView.moveToAndCenter(double x, double y) //定位,參數根據你的需求定,可以是經緯度,或其他任意類型的數據。
tileView.addMarker(View view, double x, double y) //添加一個marker
詳細使用方式請見demo
切圖工具介紹:
https://github.com/moagrius/TileView/wiki/Creating-Tiles
作者使用的是ImageMagick這個切圖工具,然后通過命令行完成切圖,切完的目錄是這樣的
四個等級,1000文件夾存放第四級(最大級)時顯示的地圖,125代表最小,當然這個你也可以自定義;
本人為了方便把切圖命令封裝成了windows的批處理文件,當你需要切圖時,直接執行tools文件即可自動完成切圖工作;
沒找到上傳文件的地方,需要的同學請留言。