集成普通地图请参考: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