mAppWidget - 2. 去除地图开发团队水印

我家淘宝店,主要协助同学做毕业设计: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. 结论

在这里,我们已经去掉了水印图标

时间: 2024-11-14 18:10:52

mAppWidget - 2. 去除地图开发团队水印的相关文章

3.PO如何给开发团队讲好故事

敏捷开发系列文章目录 讲出符合开发团队味口的故事. 上一章说了敏捷开发团队的构成与迭代过程,本章重点说一下迭代第一天的计划会议.熟话说“好的开始就成功了一半”,一个迭代的计划会议做得好不好确实直接注定着迭代的成功与失败.迭代开始之前,PO肯定都已经提前准备好了本次迭代的所有故事,并且提前都发给了团队熟悉,后来我们一般都会在前一个迭代快要完成的时候开一个下个迭代的熟悉会议,组织大家一起熟悉下个迭代的故事,一开始并没有这么做,是在过去的多个迭代中,发现每个迭代计划会议都会拖得很长,有时候会开整整一天

阿里巴巴内核维护开发团队怎么了?

之前有一段时间,感觉阿里巴巴的内核维护开发团队很牛,最近一直没听到什么声音,官网也好久没用更新了.那么阿里巴巴的内核维护开发团队到底怎么了? 也许是公司不够重视,也许是不容易出成果,也许认为不用这么多人,等等. 这从侧面反应了,在国内做内核这一方向路还是比较窄的,希望中国操作系统事业越来越好. 有知道国内内核开发现状的朋友,欢迎留言,共同交流,睁眼看世界.

Android 百度地图开发(一)--- 申请API Key和在项目中显示百度地图

标签: Android百度地图API Key  分类: Android 百度地图开发(2)  最近自己想研究下地图,本来想研究google Map,但是申请API key比较坑爹,于是从百度地图入手,其实他们的用法都差不多,本篇文章就带领大家在自己的Android项目中加入百度地图的功能,接下来我会写一系列关于百度地图的文章,欢迎大家到时候关注!   一 申请API key 在使用百度地图之前,我们必须去申请一个百度地图的API key,申请地址http://lbsyun.baidu.com/a

软件项目开发团队组员跨项目组兼职案例分析

按照现代项目管理的观点,项目团队是指"项目的中心管理小组,由一群人集合而成并被看作是一个组,他们共同承担项目目标的责任,兼职或者全职地向项目经理进行汇报". 项目团队的特征有: (1)项目团队具有一定的目的 项目团队的使命就是完成某项特定的任务,实现项目的既定目标,满足客户的需求.此外项目利益相关者的需求具有多样性的特征,因此项目团队的目标也具有多元性. (2)项目团队是临时组织 项目团队有明确的生命周期,随着项目的产生而产生,项目任务的完成而结束,即可解散.它是一种临时性的组织. (

技术开发团队的项目管理工具

前言 小型技术研发团队,往往开发流程比较简单:整理需求/bug.分配任务到个人.完成指定任务.验收.涉及到的相关管理工具主要是:项目/任务管理系统.源代码管理系统. 项目管理系统 从09年开始,我用过ActiveCollab做项目管理工具:后面12年开始使用禅道. AC从0.7以后的版本转向商业,但毫无疑问,这套系统给人一种优雅的感觉:而禅道,本身功能非常强大,一看就是一个工具,只是稍微缺少一点那种文艺范. 其实,日常生活中,个人还在尝试使用很多新兴的任务管理平台,像 Tower.TeamBit

iOS 地图开发小结

首先来说说ios地图开发使用的主要类: MKMapView:地图控件,无其他Label等控件无异,拖进来就可以用了,用于地图的内容的显示,用户可以对地图进行放大.缩小.拖动.旋转等操作: CLLocationCoordinate2D :坐标,包括经度和纬度: MKCoordinateSpan :地图跨度,表示地图放大倍数,数值越小地图显示的单位越精细: CLLocationManager :用户所在位置的管理类,通过该类的能够获取用户所在的GPS坐标. 下面与大家分享一些个人项目中地图部分所涉及

android 百度地图开发实例(转载)

因为在我的寝室google基站定位返回的数据总是为空,所以换成百度地图,发现百度地图开发起来非常方便,提供了许多有用的工具,地图的加载速度也比google地图快许多. 为了加强记忆,写一点android 百度地图开发常用的方法. 1初始化 MapManager mBMapMan = new BMapManager(this);boolean isSuccess = mBMapMan.init(this.mStrKey, new MyGeneralListener()); isSuccess 的值

细说针对企业内部应用地图开发

从事开发行业以来,本人一直喜欢GIS开发这块.尤其是中国进入电子商务互联网时代以后,电商的发展带动了地图行业的发展,越来越多社会活动和经济活动基于地图开发的产品.各种地图的衍生行业也越来越多,发展最块的就是公共地图行业,百度,谷歌,高德,腾讯等地图龙头企业用户都超大大占有了市场.同时地图衍生社区活动,购物银行等附带产品也日益丰富.在公共地图的打压下,有些地图厂商便将自己的产品转向了企业地图和商用地图的领域. 在地图行业我也算个老人了,所以行业的发展趋势我比较的关注.从朋友的公司最近我也是了解到不

arcgis开发团队(Tel:13261043797 QQ:1216807928)中科燕园ArcGIS开发团队

arcgis开发团队(Tel:13261043797 QQ:1216807928)中科燕园arcgis开发团队是一个专业从事WebGIS平台研发.GIS解决方案.GIS开发.GIS咨询服务为一体的优秀团队,团队人员主要由国内较早一批从事GIS出身的人员组成,并从事于地理信息系统(GIS), 全球定位系统(GPS),管理信息系统(MIS)开发及系统集成,团队人员由项目经验丰富.技术全面.责任心强.设计和开发人员组成,成员都经历从ESRI(arcgisengine.arcgis server).Ma