百度SDK开发(二)Overlay及定位SDK
让我们接着上一篇继续下去研究研究地图,上一篇中主要是对配置环境,基础使用作了一些介绍,稍微说了下Marker的使用与监听,今天将来重点研究下地图上覆盖物。
地图覆盖物(Overlay)
在百度地图中对于所有的在地图上的标注,路线等都称之为覆盖物。最常见就是各种标记,起点终点啊,之类的,不过还有一些不常见的,通过官方的文档我们可以了解到所有的地图覆盖物的种类。
可以看到Overlay的子类有好多,其中Marker之前见过,剩下的从前到后分别是弧形,圆形,点,范围,标记,多边形,折线,文字。当然了,我们平时在使用的时候都是使用对应的Options类来设置这些对象的,看了OverlayOptions。可以看到overlay的每一个子类都是与之对应的options选型类。接下来用代码来试试都是什么样子的。具体的每个选型类里面都有什么方法我就不贴了,官方文档的类参考中都有说明。主要是看一下使用。
//创建三个点
LatLng latLng1=new LatLng(39.914114,116.403022);
LatLng latLng2=new LatLng(39.910114,116.443022);
LatLng latLng3=new LatLng(39.918114,116.403022);
//创建点的集合
List<LatLng> latLngs=new ArrayList<>();
latLngs.add(latLng1);
latLngs.add(latLng2);
latLngs.add(latLng3);
//创建颜色集合
List<Integer> colors = new ArrayList<>();
colors.add(Color.BLUE);
colors.add(Color.YELLOW);
//创建一个圆弧覆盖物
ArcOptions arc=new ArcOptions()
.color(Color.BLACK)
.points(latLng1,latLng2,latLng3)
.width(5);
//创建点覆盖物
DotOptions dot1=new DotOptions()
.color(Color.BLUE)
.center(latLng1)
.radius(10);
DotOptions dot2=new DotOptions()
.color(Color.RED)
.center(latLng2)
.radius(10);
DotOptions dot3=new DotOptions()
.color(Color.GREEN)
.center(latLng3)
.radius(10);
//创建圆形覆盖物
CircleOptions circleStock=new CircleOptions()
.center(new LatLng(39.9102,116.42))
.stroke(new Stroke(10,Color.RED))
.fillColor(Color.BLUE)
.radius(300);
//创建地形图覆盖物
GroundOverlayOptions ground=new GroundOverlayOptions()
.dimensions(200,200)
.image(BitmapDescriptorFactory.fromResource(R.drawable.emoji001))
.position(latLng1)
.transparency(0.8f);
//创建多边形覆盖物
PolygonOptions gon=new PolygonOptions()
.fillColor(Color.BLUE)
.stroke(new Stroke(10,Color.RED))
.points(latLngs);
//创建折线覆盖物
PolylineOptions lin=new Polylin