基于百度sdk的地图软件开发心得

基于百度sdk的地图软件开发心得

ID:14707163

大小:19.77 KB

页数:7页

时间:2018-07-30

基于百度sdk的地图软件开发心得_第1页
基于百度sdk的地图软件开发心得_第2页
基于百度sdk的地图软件开发心得_第3页
基于百度sdk的地图软件开发心得_第4页
基于百度sdk的地图软件开发心得_第5页
资源描述:

《基于百度sdk的地图软件开发心得》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于百度地图SDK的地图软件开发中的问题与注意事项(一)最近我在研究基于百度地图SDK的安卓手机地图软件的开发。在百度地图SDK官网上学习在地图图层上画自定义的几何图形是,我复制了demo中关于画矩形的代码,运行结果报错。经过一番研究发现示例demo中用Geometry的对象画一个矩形区域的时候,用的方法是setEnvelope,然而官网提供的sample中用的方法是setPolygon,修改为setPolygon后完美运行。我自己写了一个简单的示例demo,我的Activity中有三个按钮,思路是点击第一个按钮后画线,点击第二个按钮后画多边形,点击第三个按钮后清除所有图层

2、。我按照百度示例demo的代码编写完毕后运行,点击第一个按钮时可以画线,但当点击第二个画多边形的按钮后没有任何反应,当我再次点击第一个画线按钮后程序报错强退。这时我就纳闷了,因为百度提供的sample中的demo的代码和我差不多,然后我又看了一下官网的介绍。官网上关于GraphicsOverlay的介绍中提到,Geometry、Symbol、Graphic对象都不可复用,但是没有说GraphicsOverlay的对象,因此GraphicsOverlay的对象是可以复用的,简单分析下就能想到,GraphicsOverlay相当于一个图层,这个图层原则上是可以画很多图形的,因此

3、我在两个按钮的单击事件中用的是同一个GraphicsOverlay对象。但是程序竟然报错了。于是我在两个按钮的单击事件中分别定义GraphicsOverlay对象,然后给各自的GraphicsOverlay对象setData()。再运行程序,愉快的解决了问题。我再重新总结了我的代码和百度sample中提供的demo的区别,原来人家百度提供的demo的思路是单击一个按钮同时画多边形,线,矩形,因此提供一个GraphicsOverlay的对象足矣。而我的思路是画多边形和画线是在两个不同的事件中,不同的事件需要不同的GraphicsOverlay对象。如果只用一个Graphics

4、Overlay对象,程序就无法分辨我想要的是哪个GraphicsOverlay对象。这只是一个小问题,因为我也是初学者,写下这篇文章权当给自己做个笔记,也提醒自己以后在学习的过程中不能盲目照搬。(附代码)packagecom.baidu.demo;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;importcom.baidu.mapapi.

5、BMapManager;importcom.baidu.mapapi.map.Geometry;importcom.baidu.mapapi.map.Graphic;importcom.baidu.mapapi.map.GraphicsOverlay;importcom.baidu.mapapi.map.MapController;importcom.baidu.mapapi.map.MapView;importcom.baidu.mapapi.map.Symbol;importcom.baidu.mapapi.map.Symbol.Color;importcom.baid

6、u.platform.comapi.basestruct.GeoPoint;publicclassMydrawdemoextendsActivity{BMapManagermBMapMan=null;MapViewmMapView=null;Buttondrawline,myclear,drawrec=null;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);mBMapMan=newBMapManager(getApplication())

7、;mBMapMan.init(null);setContentView(R.layout.draw);mMapView=(MapView)findViewById(R.id.bmapView);mMapView.setBuiltInZoomControls(true);MapControllermMapController=mMapView.getController();GeoPointpoint=newGeoPoint((int)(39.915*1E6),(int)(116.404*1E6));mMapCont

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

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

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