本文主要是介绍5.多段线(Polyline),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Polyline在Osmdroid中主要承担地图上多段线的表达
1.对象创建及简单操作
创建及基本使用方式(使用默认点击事件):
public void Test(){//创建新的多段线图层Polyline pl=new Polyline() ;//随机添加点for (int i=0;i<10;i++){pl.addPoint(new GeoPoint(Math.random(),Math.random()));}//设置信息框标题pl.setTitle("线数据");//设置信息框内容pl.setSubDescription(pl.getDistance()+"");//设置线宽度为50pl.getOutlinePaint().setStrokeWidth(50);//设置线的颜色为红色pl.getOutlinePaint().setColor(Color.RED);pl.setInfoWindow(new BasicInfoWindow(R.layout.bonuspack_bubble,osmv));osmv.getOverlayManager().add(pl);}
当添加以下代码后,覆盖默认的点击事件后,只会执行自己定义的点击事件,不会显示信息框了:
// 设置点击监听pl.setOnClickListener(new Polyline.OnClickListener() {@Overridepublic boolean onClick(Polyline polyline, MapView mapView, GeoPoint eventPos) {//这里可以执行任何线点中后想执行的时间return false;}});
2.使用提示
优点:
1)一个对象可承载Gis概念中的一个Feature对象(点),及包含空间数据和属性数据。
2)可通过MilestoneManagers实现线的符号化。
3)对象承载的数据可通过 setRelatedObject进行存储。
缺点:
1)在显示的表达上只能在地图上进行符号化的表达,没有标注(标签)效果。可通过派生类的方式弥补这个缺陷。
2)通过MilestoneManagers实现线的符号化,在数据量大时相较于无符号化会造成比较严重的卡顿。
3)触摸点击不是特别灵敏,需要增加线宽才能比较方便的点击到这个线对象。
这篇关于5.多段线(Polyline)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!