Android集成百度地图的一些基本设置

本文档详细介绍了在Android应用中集成百度地图后如何进行基本设置,包括地图类型选择(普通地图、卫星图、空白地图)、实时交通图的显示,以及定位模式的切换(普通态、跟随态、罗盘态)。此外,还讲解了如何自定义定位图标和精度圈的颜色,以提升用户体验。

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

       上一篇博客介绍了集成百度地图的详细步骤,这篇就记录一下百度地图的一些基本的设置,如果不知道怎么集成的请查看上一篇博客集成的详细步骤

地图类型:

mMapView.setLogoPosition(LogoPosition.logoPostionleftTop);//设置百度地图logo位置
mMapView.showZoomControls(false);//是否显示缩放控件
mBaiduMap = mMapView.getMap();
//普通地图
mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);//地图类型

百度地图SDK提供了3种预置的地图类型(普通矢量地图、卫星图和空白地图),BaiduMap 类提供图层类型常量,如下:MAP_TYPE_NORMAL 普通地图(包含3D地图),MAP_TYPE_SATELLITE 卫星图,MAP_TYPE_NONE

空白地图;另外提供了2种常用图层实时路况图以及百度城市热力图。

交通图:

mMapView = (MapView) findViewById(R.id.bmapView);  
mBaiduMap = mMapView.getMap();  
//开启交通图   
mBaiduMap.setTrafficEnabled(true);
热力图:

mMapView = (MapView) findViewById(R.id.bmapView);  
mBaiduMap = mMapView.getMap();  
//开启热力图   
mBaiduMap.setBaiduHeatMapEnabled(true);
当地图从20级放大到21级后,卫星图、热力图、交通路况图层将不再显示;缩小到20级后,卫星图、热力图、交通路况图层,会再正常显示。

定位:

    /**
     * 初始化定位
     */
    private void initLocation(){
        // 开启定位图层
        mBaiduMap.setMyLocationEnabled(true);
        myListener = new MyLocationListener();
        mLocationClient = new LocationClient(HistoryActivity.this);
        mLocationClient.registerLocationListener(myListener);
        LocationClientOption option = new LocationClientOption();
        option.setOpenGps(true); // 打开gps
        option.setCoorType("bd09ll"); // 设置坐标类型
        option.setScanSpan(30000);//取定位的时间间隔
        mLocationClient.setLocOption(option);
        mLocationClient.start();

    }
位监听

public class MyLocationListener implements BDLocationListener {
        @Override
        public void onReceiveLocation(final BDLocation location) {
            //获取定位结果
            // map view 销毁后不在处理新接收的位置
            if (location == null || mMapView == null) {
                return;
            }
            mCurrentLat = location.getLatitude();
            mCurrentLon = location.getLongitude();
            mCurrentAccracy = location.getRadius();
            locData = new MyLocationData.Builder()
                    .accuracy(location.getRadius())
                    // 此处设置开发者获取到的方向信息,顺时针0-360
                    .direction(mCurrentDirection).latitude(location.getLatitude())
                    .longitude(location.getLongitude()).build();
            mBaiduMap.setMyLocationData(locData);
     
           // 设置定位图层的配置(定位模式,是否允许方向信息,用户自定义定位图标)  
            mCurrentMarker = BitmapDescriptorFactory.fromResource(R.drawable.icon_geo);  
            MyLocationConfiguration config = new MyLocationConfiguration(mCurrentMode, true, mCurrentMarker);  
                mBaiduMap.setMyLocationConfiguration();
                LatLng ll = new LatLng(location.getLatitude(),//中心点的经纬度
                        location.getLongitude());
                MapStatus.Builder builder = new MapStatus.Builder();
                builder.target(ll).zoom(12.0f);//设置中心的和缩放级别
                mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));
         
        }
        @Override
        public void onConnectHotSpotMessage(String s, int i) {

        }
    }
定位模式

地图SDK支持三种定位模式:NORMAL(普通态), FOLLOWING(跟随态), COMPASS(罗盘态)
mCurrentMode = LocationMode.FOLLOWING;//定位跟随态
mCurrentMode = LocationMode.NORMAL;   //默认为 LocationMode.NORMAL 普通态
mCurrentMode = LocationMode.COMPASS;  //定位罗盘态

自定义定位图标

支持自定义定位图标样式,替换定位icon

mCurrentMarker = BitmapDescriptorFactory .fromResource(R.drawable.icon_geo);

自定义精度圈填充颜色

accuracyCircleFillColor = 0xAAFFFF88;//自定义精度圈填充颜色

自定义精度圈边框颜色

accuracyCircleStrokeColor = 0xAA00FF00;//自定义精度圈边框颜色

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值