package bw.com.bw_day10.demo02;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.BitmapDescriptor;
import com.baidu.mapapi.map.BitmapDescriptorFactory;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.Marker;
import com.baidu.mapapi.map.MarkerOptions;
import com.baidu.mapapi.map.OverlayOptions;
import com.baidu.mapapi.model.LatLng;
import bw.com.bw_day10.R;
/**
* 覆盖物
* 1, 加载普通地图
* 1.1 在百度开放平台中获取AK
* 1.2 配置Android Studio 环境
* 1.3 在清单文件中, 添加ak 和 权限
* 1.4 在布局页面中, 写入地图控件
* 1.5 在Activity 中, super 和 setContentView() 之间, 初始化地图
* 1.6 将Activity的生命周期和地图的生命周期结合
*/
public class CoverMapActivity extends AppCompatActivity {
private MapView mMapView;
private BaiduMap mBaiduMap;//百度地图管理器对象
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//TODO 初始化地图的操作
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_cover_map);
mMapView = (MapView) findViewById(R.id.map_view_id);
mBaiduMap = mMapView.getMap();
//TODO 定义Maker坐标点
LatLng point = new LatLng(39.963175, 116.400244);
//TODO 构建Marker图标
BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.mipmap.icon_marka);
//TODO 构建MarkerOption,用于在地图上添加Marker
OverlayOptions option = new MarkerOptions()
.position(point)//设置坐标点
.icon(bitmap)//设置图标
.draggable(true); //TODO 1, 拖拽 -- 设置是否可以拖拽
//TODO 在地图上添加Marker,并显示
mBaiduMap.addOverlay(option);
//TODO 2, 拖拽 -- 设置监听器 调用BaiduMap对象的setOnMarkerDragListener方法设置Marker拖拽的监听
mBaiduMap.setOnMarkerDragListener(new BaiduMap.OnMarkerDragListener() {
public void onMarkerDrag(Marker marker) {
//拖拽中
Log.e("TAG","-拖拽中--");
}
public void onMarkerDragEnd(Marker marker) {
//拖拽结束
Log.e("TAG","-拖拽结束--");
}
public void onMarkerDragStart(Marker marker) {
//开始拖拽
Log.e("TAG","-拖拽开始--");
}
});
//TODO 设置覆盖物的点击事件
mBaiduMap.setOnMarkerClickListener(new BaiduMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
Log.e("TAG","-点击事件监听器--");
return false;
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
mMapView.onDestroy();
}
@Override
protected void onResume() {
super.onResume();
mMapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
mMapView.onPause();
}
}
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.BitmapDescriptor;
import com.baidu.mapapi.map.BitmapDescriptorFactory;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.Marker;
import com.baidu.mapapi.map.MarkerOptions;
import com.baidu.mapapi.map.OverlayOptions;
import com.baidu.mapapi.model.LatLng;
import bw.com.bw_day10.R;
/**
* 覆盖物
* 1, 加载普通地图
* 1.1 在百度开放平台中获取AK
* 1.2 配置Android Studio 环境
* 1.3 在清单文件中, 添加ak 和 权限
* 1.4 在布局页面中, 写入地图控件
* 1.5 在Activity 中, super 和 setContentView() 之间, 初始化地图
* 1.6 将Activity的生命周期和地图的生命周期结合
*/
public class CoverMapActivity extends AppCompatActivity {
private MapView mMapView;
private BaiduMap mBaiduMap;//百度地图管理器对象
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//TODO 初始化地图的操作
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_cover_map);
mMapView = (MapView) findViewById(R.id.map_view_id);
mBaiduMap = mMapView.getMap();
//TODO 定义Maker坐标点
LatLng point = new LatLng(39.963175, 116.400244);
//TODO 构建Marker图标
BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.mipmap.icon_marka);
//TODO 构建MarkerOption,用于在地图上添加Marker
OverlayOptions option = new MarkerOptions()
.position(point)//设置坐标点
.icon(bitmap)//设置图标
.draggable(true); //TODO 1, 拖拽 -- 设置是否可以拖拽
//TODO 在地图上添加Marker,并显示
mBaiduMap.addOverlay(option);
//TODO 2, 拖拽 -- 设置监听器 调用BaiduMap对象的setOnMarkerDragListener方法设置Marker拖拽的监听
mBaiduMap.setOnMarkerDragListener(new BaiduMap.OnMarkerDragListener() {
public void onMarkerDrag(Marker marker) {
//拖拽中
Log.e("TAG","-拖拽中--");
}
public void onMarkerDragEnd(Marker marker) {
//拖拽结束
Log.e("TAG","-拖拽结束--");
}
public void onMarkerDragStart(Marker marker) {
//开始拖拽
Log.e("TAG","-拖拽开始--");
}
});
//TODO 设置覆盖物的点击事件
mBaiduMap.setOnMarkerClickListener(new BaiduMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
Log.e("TAG","-点击事件监听器--");
return false;
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
mMapView.onDestroy();
}
@Override
protected void onResume() {
super.onResume();
mMapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
mMapView.onPause();
}
}