android 使用(overlay)

android 使用(overlay)

ID:34646077

大小:29.65 KB

页数:10页

时间:2019-03-08

android 使用(overlay)_第1页
android 使用(overlay)_第2页
android 使用(overlay)_第3页
android 使用(overlay)_第4页
android 使用(overlay)_第5页
资源描述:

《android 使用(overlay)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、标准实用文案覆盖是用来向MapView中添加注释和单击处理的方法。每一个覆盖都可以直接在画布上绘制2D原语,包括文本、直线、图片和各种形状,之后它们会被用来覆盖到MapView之上。    可以向一个地图中添加多个覆盖。分配给一个MapView的所有覆盖都是作为层而添加的,较新的层可能会模糊较旧的层。用户单击是通过栈进行传递的,直到它们被覆盖处理,或者作为MapView本身的单击进行注册为止。    1.创建新的覆盖    每一个覆盖都是一块具有透明背景的画布,可以把它作为一个图层放在MapView的上面,并用它来处理地图触摸事件。    

2、要添加新的覆盖,需要通过扩展Overlay来创建一个新的类。然后重写draw方法来绘制希望添加的注释,并重写onTap方法来对用户的单击做出反应(通常是当用户单击由这个覆盖所添加的注释时)。    下面的代码段显示了创建新的覆盖的框架,它可以用来绘制注释和处理用户单击:Java代码:1.importandroid.graphics.Canvas;2.importcom.google.android.maps.MapView;3.importcom.google.android.maps.Overlay;4.5.publicclassMyOv

3、erlayextendsOverlay{6.@Override7.publicvoiddraw(Canvascanvas,MapViewmapView,booleanshadow){8.if(shadow==false)9.{[...Drawannotationsonmainmaplayer...]}10.else{[...Drawannotationsontheshadowlayer...]}11.}12.@Override13.publicbooleanonTap(GeoPointpoint,MapViewmapView){14.//如

4、果这个覆盖处理了屏幕接触,就返回truereturnfalse;15.}16.17.}文档标准实用文案复制代码    2.投影简介    用来绘制覆盖注释的画布是一个表示可视的显示表面的标准画布。要在物理位置的基础上添加注释,需要在地理位置和屏幕坐标之间进行转换。    Projection类可以在经纬度坐标(存储为GeoPoints)和x/y屏幕坐标之间进行转换(存储为Points)。    地图的投影可能会在后面对draw的调用中发生改变,所以最好每次都获得一个新的投影实例。可以通过调用getProjection来获得MapView的投

5、影,如下面的代码所示:Java代码:1.Projectionprojection=mapView.getProjection();复制代码    使用fromPixel和toPixel方法可以在GeoPoint和Point对象之间进行转换。    由于性能方面的原因,toPixel投影方法最好的使用方式是传递给它一个Point对象(而不是依赖返回值),如下所示:Java代码:1.PointmyPoint=newPoint();2.//投影到屏幕坐标3.projection.toPixels(geoPoint,myPoint);4.//投影到

6、GeoPoint位置坐标5.projection.fromPixels(myPoint.x,myPoint.y);复制代码    3.在覆盖画布上绘图    可以通过重载覆盖的draw处理程序,从而在覆盖的画布上进行绘制。文档标准实用文案    可以在传入的画布上面绘制你的注解,这里使用了在第4章为Views创建定制的用户界面的时候已经介绍过的相同技术。Canvas对象包含了在地图上绘制2D原语的方法(包括文本、直线、形状、椭圆、图片等)。可以使用Paint对象来定义样式和颜色。    下面的代码段使用一个投影在一个给定的位置绘制文本和椭圆

7、:Java代码:1.@Override2.publicvoiddraw(Canvascanvas,MapViewmapView,booleanshadow){3.Projectionprojection=mapView.getProjection();4.Doublelat=-31.960906*1E6;5.Doublelng=115.844822*1E6;GeoPointgeoPoint=newGeoPoint(lat.intValue(),lng.intValue());6.if(shadow==false){7.PointmyPoin

8、t=newPoint();8.projection.toPixels(geoPoint,myPoint);9.//创建和设置你的绘图刷10.Paintpaint=newPaint

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。