百度SDK开发(二)Overlay及定位SDK

本文深入探讨了百度地图SDK中的Overlay及定位功能。覆盖物包括Marker、弧形、圆形等,通过OverlayOptions设置样式并批量添加到地图。Marker的动画实现和InfoWindow的使用也进行了详细讲解。此外,还介绍了定位SDK的基本使用,包括监听器、定位参数设置,并展示了如何将地图中心定位到当前位置。最后提到了不同场景下定位刷新间隔的调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

百度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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值