mAppWidget - 2. 去除地图开发团队水印
来源:互联网 发布:联通软件研究院怎么样 编辑:程序博客网 时间:2024/04/30 07:57
我家淘宝店,主要协助同学做毕业设计:https://shop104550034.taobao.com/?spm=2013.1.1000126.d21.pPCzDZ
1. 开发者所留的水印
在地图上,我们可以观察到开发者留下了一个公司水印,在我们的开发过程中不希望使用人员看到这个图标,现在要去掉他。
2.删除水印
1. 定位水印在开发者代码中的位置
在MapWidget类中我们找到了地图绘画的方法。
@Override protected void onDraw(Canvas canvas) { this.getDrawingRect(drawingRect); if (config != null) { if (prevGrid != null) { prevGrid.draw(canvas, paint, drawingRect); } if (grid != null) { grid.draw(canvas, paint, drawingRect); } drawLayers(canvas, drawingRect); if (logo != null) { canvas.drawBitmap(logo, getWidth() + getScrollX() - logo.getWidth() - 10, getHeight() + getScrollY() - logo.getHeight() - 10, null); } } else { scrollTo(0, 0); drawMissingDataErrorMessage(canvas); } }
我们可以看到如下代码绘制了log图标
if (logo != null) { canvas.drawBitmap(logo, getWidth() + getScrollX() - logo.getWidth() - 10, getHeight() + getScrollY() - logo.getHeight() - 10, null); }
2. 创建继承自MapWidget的子类
在包含有原作者代码时,不建议粗暴删除代码,最好创建一个继承自MapWidget的子类,在其上进行删减
创建RoadWayMapWidget
public class RoadWayMapWidget extends MapWidget{ /** * * @param context * -context * @param rootMapFolder * -地图资源文件名 * @param initialZoomLevel * -初始化缩放等级 * @date 2016年4月1日上午9:11:39 */ public RoadWayMapWidget(Context context, String rootMapFolder,int initialZoomLevel) { super(context, rootMapFolder, initialZoomLevel); // TODO Auto-generated constructor stub }}
3. 重写onDraw方法
重写onDraw方法,但是删除了绘制图标的代码,如下:
@Override protected void onDraw(Canvas canvas) { this.getDrawingRect(drawingRect); if (config != null) { if (prevGrid != null) { prevGrid.draw(canvas, paint, drawingRect); } if (grid != null) { grid.draw(canvas, paint, drawingRect); } drawLayers(canvas, drawingRect); } else { scrollTo(0, 0); drawMissingDataErrorMessage(canvas); } }
3. 测试
修改MainActivity 如下所示:
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final RoadWayMapWidget map = new RoadWayMapWidget(this, "map23",15); LinearLayout layout = (LinearLayout) findViewById(R.id.mainLayout); map.getConfig().setZoomBtnsVisible(false); layout.addView(map); }}
4. 结论
在这里,我们已经去掉了水印图标
0 0
- mAppWidget - 2. 去除地图开发团队水印
- 基于mAppWidget实现手绘地图–去掉试用版地图水印
- mAppWidget 手绘地图github
- ArcGIS for Android地图去除水印
- 基于mappwidget的手绘地图
- krpano——去除google地图里的水印
- 基于mAppWidget实现手绘地图(一)--简介
- 基于mAppWidget实现手绘地图(二)--概要
- 基于mAppWidget实现手绘地图--索引&DEMO
- 基于mAppWidget实现手绘地图–边界问题
- mAppWidget - 3. 在地图上放置物品
- 图片去除水印
- 去除PDF水印
- 去除fusionchartsforflex水印
- flex4 amcharts 去除水印
- photoshop去除水印
- icepdf6.0.2去除水印
- ireport去除图片水印
- 线程进程通信和同步方式
- Linux的原子操作与同步机制
- Mybatis使用insert插入数据
- C++3层架构的UML例图
- JAX-RS入门 一 :基础
- mAppWidget - 2. 去除地图开发团队水印
- Linux(centOS6.5)下SVN的安装、配置及开机启动
- Java再学习-JVM类加载和执行机制
- 决策树算法预测森林植被
- SEO
- [剑指offer]数字在排序数组中出现的次数
- 匿名管道
- webStorm 3.0配置使用主题背景色等
- JAX-RS的参考实现:《使用 Jersey 和 Apache Tomcat 构建 RESTful Web 服务》