目录
注:百度地图有地图SDK实现的开发指导文档,以下功能的实现基本是参照百度的开发文档实现的。网址为:Android地图SDK | 百度地图API SDK
一.功能
1.定位到当前位置并显示。
2.获取当前方向角并以绘制扇形视野
3.获取服务器数据,实现对视野扇形大小的改变
二.功能实现
1.定位功能的实现:
protected void onCreate(Bundle savedInstanceState) {
//
//权限
List<String> permissionList = new ArrayList<>();
if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
permissionList.add(Manifest.permission.ACCESS_FINE_LOCATION);
}
if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
permissionList.add(Manifest.permission.READ_PHONE_STATE);
}
if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
permissionList.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
}
if (!permissionList.isEmpty()) {
String[] permissions = permissionList.toArray(new String[permissionList.size()]);
ActivityCompat.requestPermissions(MainActivity.this, permissions, 1);
}
super.onCreate(savedInstanceState);
SDKInitializer.initialize(getApplicationContext());
//
setContentView(R.layout.activity_main);
SDKInitializer.setCoordType(CoordType.BD09LL);
this.context = this;
//
mMapView = (MapView) findViewById(R.id.bmapView);
//获取地图控件引用
mBaiduMap = mMapView.getMap();
mBaiduMap.setMyLocationEnabled(true);
MyLocationConfiguration configuration = new MyLocationConfiguration(MyLocationConfiguration.LocationMode.NORMAL, true, null);
mBaiduMap.setMyLocationConfiguration(configuration);
//定位初始化
mLocationClient = new LocationClient(this);
//创建LocationClientOption对象,用于设置定位方式
LocationClientOption option = new LocationClientOption();