Android百度地图之地图覆盖物(结合百度地图API)

这篇博客详细介绍了如何在Android中使用百度地图SDK创建自定义地图覆盖物,包括定位图层、地图标注、弹出窗口图层的实现,以及如何利用检索结果覆盖物进行路线规划。通过实例代码展示了如何进行地理编码和反编码,以及步行、驾车和公交搜索的路线规划功能。

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

在上一篇博客中,我为大家介绍了百度地图的定位功能的使用方法,接下来,我将为大家介绍百度地图的另一个常见的功能:地图覆盖物。

百度地图SDK支持多种地图覆盖物,以帮助我们实现丰富的地图信息。目前所支持的覆盖物有:定位图层,地图标注(Marker),几何图层(点,线,圆和多边形),弹出窗口图层,POI检索结果覆盖物,路线规划覆盖物等等。既然百度SDK为我们提供了这么多丰富多彩的地图覆盖物,那么我们就来亲眼见证一下它的美丽吧。我将为大家逐一介绍几个比较常见的覆盖物。

定位图层+地图标注:

细心的朋友不难发现,在上一篇博客中,我们定位的默认图层是一个蓝色的小圆点,那么接下来我们就自定义一个我们自己的图层,并在我们想要的位置同样用我们自己定义的图层来标注该地理位置,先来看看效果图:

代码如下:

定位图层:

//设置定位图层
						BitmapDescriptor bd = BitmapDescriptorFactory.fromResource(R.drawable.map_marker);
						MyLocationConfiguration config = new MyLocationConfiguration(mCurrentMode, true, bd);
						mBaiduMap.setMyLocationConfigeration(config);
只需要三行代码,就可以实现上述的效果了。其中BitmapDescriptor:是图层的描述类,通过工厂模式去初始化并获取我们资源库中的图片。MyLocationConfiguration:该类用来配置地图图层的显示方式,它需要三个参数:LocationMode:定位图层显示方式,默认为LocationMode.NORMAL,第二个参数为boolean型:表示是否允许显示方向信息,第三个参数则是我们的BitmapDescriptor:图层的描述类,最后我们只需要调用BaiduMap的setMyLocationConfigeration()方法便可以设置我们的定位图层了。

地图标注:

private void initMarker()
	{
		//定义Maker坐标点  
		LatLng point = new LatLng(mCurrentLan, mCurrentLon);  
		//构建Marker图标  
		BitmapDescriptor bitmap = BitmapDescriptorFactory  
		    .fromResource(R.drawable.maker);  
		//构建MarkerOption,用于在地图上添加Marker  
		OverlayOptions option = new MarkerOptions()  
		    .position(point)  
		    .icon(bitmap);  
		//在地图上添加Marker,并显示  
		mBaiduMap.addOverlay(option);
	}

那么到底改如何实现我们上述的功能了,其实我们可以调用百度地图的setOnMapClickListener监听方法,它会返回给我们一个地理坐标信息类:LanLng,根据这个类,我们就可以很容易去获取我们的地理坐标了,然后我们就可以在获取到的坐标位置标注图层信息了。

弹出窗口图层:

先来阐述一下我们接下来需要实现的功能:就是在我们的某个地图标注上面弹出一个自定义的窗口,并在窗口上显示我们的地址信息,这边我们需要用到地理反编码的接口,以将我们的地理坐标转换成我们的地址信息。效果图如下:

代码如下:

弹出窗口图层:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值