[Android]百度地图之几何标注和文字覆盖物
2016-05-12 21:35
531 查看
百度地图SDK提供多种结合图形覆盖物,利用这些图形,可帮助您构建更加丰富多彩的地图应用。
1、在activity_mail.xml中,新建一个MapView
2、在MainActivity.java中, 构建几何形状的OverlayOptions,添加到百度地图当中。
OverlayOptions 是个抽象类接口,已知的子类有:ArcOptions, CircleOptions, DotOptions, GroundOverlayOptions, MarkerOptions, PolygonOptions, PolylineOptions, TextOptions。
通过实例化textOption,我们还可以构建文字覆盖物。代码如下:
通过实例化GroundOverlayOptions,我们还可以构建地形图图层(图片图层)。代码如下:
1、在activity_mail.xml中,新建一个MapView
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <!-- 添加百度地图控件 --> <com.baidu.mapapi.map.MapView android:id="@+id/bmapView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" /> </LinearLayout>
2、在MainActivity.java中, 构建几何形状的OverlayOptions,添加到百度地图当中。
// 几何图形的标注 LatLng pt1 = new LatLng(39.93923, 116.357428); LatLng pt2 = new LatLng(39.91923, 116.327428); LatLng pt3 = new LatLng(39.89923, 116.347428); LatLng pt4 = new LatLng(39.89923, 116.367428); LatLng pt5 = new LatLng(39.91923, 116.387428); List<LatLng> list = new ArrayList<LatLng>(); list.add(pt1); list.add(pt2); list.add(pt3); list.add(pt4); list.add(pt5); OverlayOptions polygonOption = new PolygonOptions().points(list).fillColor(0xAAFFFF00).stroke(new Stroke(5,0xAA00FF00)); mBaiduMap.addOverlay(polygonOption);
OverlayOptions 是个抽象类接口,已知的子类有:ArcOptions, CircleOptions, DotOptions, GroundOverlayOptions, MarkerOptions, PolygonOptions, PolylineOptions, TextOptions。
通过实例化textOption,我们还可以构建文字覆盖物。代码如下:
/** * 文字覆盖物 */ // 定义文字显示的坐标点 LatLng llText = new LatLng(39.86923, 116.397428); // 构建文字option对象 OverlayOptions textOption = new TextOptions().bgColor(0xAAFFFF00).fontSize(24).fontColor(0xFFFF00FF).text("百度地图SDK").rotate(-30).position(llText); mBaiduMap.addOverlay(textOption);
通过实例化GroundOverlayOptions,我们还可以构建地形图图层(图片图层)。代码如下:
/** * 地形图图层(图片图层) */ LatLng southwest = new LatLng(39.92235, 116.380338); LatLng northeast = new LatLng(39.947246, 116.414977); LatLngBounds bounds = new LatLngBounds.Builder() .include(northeast) .include(southwest) .build(); BitmapDescriptor bdGround = BitmapDescriptorFactory .fromResource(R.drawable.icon_marka); OverlayOptions ooGround = new GroundOverlayOptions() .positionFromBounds(bounds) .image(bdGround) .transparency(0.8f); mBaiduMap.addOverlay(ooGround);
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories