百度地图API使用系列3-基本地图1

来源:互联网 发布:svd推荐算法 编辑:程序博客网 时间:2024/06/14 18:09

百度基本地图使用1

关于百度地图申请开发者key 可以参考前面的博客

百度地图API使用系列1-准备工作

 

关于搭建工程的可以参考前面的博客

百度地图API使用系列2-显示地图

 

这一篇博客介绍基本地图使用里面的地图类型、显示实时交通图、在地图显示一个Marker。

 

 

这里要注意的是关于地图的操作不是有显示地图的控件直接去完成,百度为他添加了一个属性BaiduMap可以把这个属性理解为是 地图的管理器

我们可以通过对应 的 get 方法 获取这个属性

 

baiduMap = baiduMapView.getMap();

地图类型

百度地图提供 了俩种类型的地图资源(普通矢量地图和卫星地图)

BaiduMap.MAP_TYPE_NORMAL          普通矢量地图
BaiduMap.MAP_TYPE_SATELLITE       卫星地图
 
baiduMap.setMapType(MAP_TYPE);
 
/** * 设置显示的地图类型 * * @param currentMapType 地图类型 */
private void setDisplayMapType(int currentMapType) {    switch (currentMapType) {    case MAP_NORMAL:        // 显示地图的类型 分为俩类 1.普通矢量地图 2.卫星地图        baiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);        break;    case MAP_SATELLITE:        baiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);        break;    default:        baiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);        break;}

 

显示实时交通路况图

百度地推目前 已经支持多个城市的交通路况图了

 

baiduMap.setTrafficEnabled(boolean);
 
/** * 设置显示实施交通图 * @param isChecked 是否显示 true显示 false不显示 */private void setDisplayTraffic(boolean isChecked) {    if (isChecked) {        // 显示 实时交通图        baiduMap.setTrafficEnabled(true);    } else {        baiduMap.setTrafficEnabled(false);    }}
 

在地图上面显示一个Marker

/** * 通过经纬度在地图上面显示标注物 * @param longitude 经度 * @param latitude 纬度 */private void setLatlng(double longitude, double latitude) {    // 构建 标注物 的 坐标 通过经纬度    // 这个地方需要注意一下 实例化 LatLng 类的时候 在传递参数的时候 是 纬经度    LatLng point = new LatLng(latitude, longitude);    Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);    // 通过 bitmap 构建 标注物的 显示 图标    BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromBitmap(bitmap);    // 创建一个 覆盖层    // 设置标注物的 坐标 position    // 设置标注物的 图标 icon    // 设置标注物的 标题 title    // 设置标注物是否可拖拽 draggable true可以拖拽 false不可以拖拽 长按起作用 可以监听拖拽事件    OverlayOptions options = new MarkerOptions().position(point).icon(bitmapDescriptor).title("豪景大厦").draggable(true);    baiduMap.setOnMarkerDragListener(this);    // 将 覆盖层 添加 带地图上面    // 这个方法 有一个 返回值的 Overlay    marker = (Marker) baiduMap.addOverlay(options);    // 显示默认的 覆盖物位置    displayMarker("默认", marker);}

 

对于已经添加的标注覆盖物可以通过 remove() 从地图上面移除。
 
下面附上整个程序的源代码点击打开链接
0 0
原创粉丝点击