百度地图开发(二)普通/卫星/空白/路况图/热力图

集成普通地图请参考:https://blog.csdn.net/lanrenxiaowen/article/details/83310672  

先看效果:

 

启动普通地图代码:

mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);

启动卫星地图代码:

mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);

启动空白地图代码:

mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NONE);

开启/关闭路况图:

mBaiduMap.setTrafficEnabled(true);//开启
mBaiduMap.setTrafficEnabled(false);//关闭

开启/关闭热力图:

mBaiduMap.setBaiduHeatMapEnabled(true);//开启
mBaiduMap.setBaiduHeatMapEnabled(false);//关闭

最后记得在onDestroy方法里面销毁视图MapView

下面是完整代码:

布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_vertical"
            android:orientation="horizontal"
            android:padding="5dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:text="地图类型"
                android:paddingRight="10dp"
                android:textColor="#000" />

            <TextView
                android:id="@+id/putong"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="10dp"
                android:background="@drawable/bg_btn"
                android:text="普通"
                android:textColor="#f6f6f6" />

            <TextView
                android:id="@+id/weixing"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="10dp"
                android:background="@drawable/bg_btn2"
                android:text="卫星"
                android:textColor="@color/colorAccent" />

            <TextView
                android:id="@+id/kongbai"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="10dp"
                android:background="@drawable/bg_btn2"
                android:text="空白"
                android:textColor="@color/colorAccent" />

            <TextView
                android:layout_width="wrap_content"
                android:text="地图"
                android:textSize="10dp"
                android:layout_height="wrap_content" />


        </LinearLayout>

        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="#f2f2f2" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_vertical"
            android:orientation="horizontal"
            android:padding="5dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:paddingRight="15dp"
                android:text="开/关路况地图"
                android:textColor="#000" />

            <TextView
                android:id="@+id/lukuang"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="10dp"
                android:background="@drawable/bg_btn2"
                android:drawableLeft="@mipmap/wxz"
                android:drawablePadding="5dp"
                android:text="路况地图"
                android:textColor="@color/colorAccent" />

        </LinearLayout>

        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="#f2f2f2" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_vertical"
            android:orientation="horizontal"
            android:padding="5dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:paddingRight="15dp"
                android:text="开/关热力地图"
                android:textColor="#000" />

            <TextView
                android:id="@+id/reli"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="10dp"
                android:background="@drawable/bg_btn2"
                android:drawableLeft="@mipmap/wxz"
                android:drawablePadding="5dp"
                android:text="热力地图"
                android:textColor="@color/colorAccent" />

        </LinearLayout>

        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="#f2f2f2" />
    </LinearLayout>

    <com.baidu.mapapi.map.MapView
        android:id="@+id/mapview"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    </com.baidu.mapapi.map.MapView>

</LinearLayout>

MainActivity代码:

package com.example.administrator.baidumap1;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.MapView;
import com.linsh.utilseverywhere.Utils;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private TextView mPutong, mWeixing, mKongbai, mLukuang, mReli;

    private BaiduMap mBaiduMap;
    private MapView mMapView;

    private Boolean LKbool = true, RLbool = true;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //设置个性化地图,一定要在父类构造方法前
        setContentView(R.layout.activity_main);
        Utils.init(MainActivity.this);
        setInit();
        setDituleixing(0);
    }


    public void setInit() {
        mMapView = findViewById(R.id.mapview);
        mBaiduMap = mMapView.getMap();
        mPutong = findViewById(R.id.putong);
        mPutong.setOnClickListener(this);
        mWeixing = findViewById(R.id.weixing);
        mWeixing.setOnClickListener(this);
        mKongbai = findViewById(R.id.kongbai);
        mKongbai.setOnClickListener(this);
        mLukuang = findViewById(R.id.lukuang);
        mLukuang.setOnClickListener(this);
        mReli = findViewById(R.id.reli);
        mReli.setOnClickListener(this);

    }


    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.putong:
                setDituleixing(0);//改变按钮颜色
                mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);
                break;
            case R.id.weixing:
                setDituleixing(1);//改变按钮颜色
                mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);
                break;
            case R.id.kongbai:
                setDituleixing(2);//改变按钮颜色
                mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NONE);
                break;
            case R.id.lukuang:
                setDituleixing(3);//改变按钮颜色
                break;
            case R.id.reli:
                setDituleixing(4);//改变按钮颜色
                break;
        }
    }

    /**
     * 按钮选中时改变背景颜色
     */
    public void setDituleixing(int a) {
        switch (a) {
            case 0:
                setLeixingColor();
                mPutong.setTextColor(this.getResources().getColor(R.color.colorffffff));
                mPutong.setBackgroundDrawable(this.getResources().getDrawable(R.drawable.bg_btn));
                break;
            case 1:
                setLeixingColor();
                mWeixing.setTextColor(this.getResources().getColor(R.color.colorffffff));
                mWeixing.setBackgroundDrawable(this.getResources().getDrawable(R.drawable.bg_btn));
                break;
            case 2:
                setLeixingColor();
                mKongbai.setTextColor(this.getResources().getColor(R.color.colorffffff));
                mKongbai.setBackgroundDrawable(this.getResources().getDrawable(R.drawable.bg_btn));
                break;
            case 3:
                if (LKbool == true) {
                    mLukuang.setTextColor(this.getResources().getColor(R.color.colorffffff));
                    mLukuang.setBackgroundDrawable(this.getResources().getDrawable(R.drawable.bg_btn));
                    mLukuang.setCompoundDrawablesWithIntrinsicBounds(this.getResources().getDrawable(R.mipmap.xz), null, null, null);
                    mBaiduMap.setTrafficEnabled(true);
                    LKbool = false;
                } else if (LKbool == false) {
                    mLukuang.setTextColor(this.getResources().getColor(R.color.colorAccent));
                    mLukuang.setBackgroundDrawable(this.getResources().getDrawable(R.drawable.bg_btn2));
                    mLukuang.setCompoundDrawablesWithIntrinsicBounds(this.getResources().getDrawable(R.mipmap.wxz), null, null, null);
                    mBaiduMap.setTrafficEnabled(false);
                    LKbool = true;
                }
                break;
            case 4:
                if (RLbool == true) {
                    mReli.setTextColor(this.getResources().getColor(R.color.colorffffff));
                    mReli.setBackgroundDrawable(this.getResources().getDrawable(R.drawable.bg_btn));
                    mReli.setCompoundDrawablesWithIntrinsicBounds(this.getResources().getDrawable(R.mipmap.xz), null, null, null);
                    mBaiduMap.setBaiduHeatMapEnabled(true);
                    RLbool = false;
                } else if (RLbool == false) {
                    mReli.setTextColor(this.getResources().getColor(R.color.colorAccent));
                    mReli.setBackgroundDrawable(this.getResources().getDrawable(R.drawable.bg_btn2));
                    mReli.setCompoundDrawablesWithIntrinsicBounds(this.getResources().getDrawable(R.mipmap.wxz), null, null, null);
                    mBaiduMap.setBaiduHeatMapEnabled(false);
                    RLbool = true;
                }
                break;
        }
    }

    /**
     * 清空地图类型选项的背景颜色
     */
    public void setLeixingColor() {
        mPutong.setTextColor(this.getResources().getColor(R.color.colorAccent));
        mWeixing.setTextColor(this.getResources().getColor(R.color.colorAccent));
        mKongbai.setTextColor(this.getResources().getColor(R.color.colorAccent));
        mPutong.setBackgroundDrawable(this.getResources().getDrawable(R.drawable.bg_btn2));
        mWeixing.setBackgroundDrawable(this.getResources().getDrawable(R.drawable.bg_btn2));
        mKongbai.setBackgroundDrawable(this.getResources().getDrawable(R.drawable.bg_btn2));
    }

    @Override
    protected void onResume() {
        super.onResume();
        mMapView.onResume();
    }

    @Override
    protected void onPause() {
        super.onPause();
        mMapView.onPause();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        mMapView.onDestroy();
    }
}

下载地址:https://download.csdn.net/download/lanrenxiaowen/10741498

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值