<com.baidu.mapapi.map.MapView |
android:id= "@+id/bmapView" |
android:layout_width= "fill_parent" |
android:layout_height= "fill_parent" |
android:clickable= "true" /> |
SDKInitializer.initialize(getApplicationContext()); |
private MapView bmapView; |
private BaiduMap mBaiduMap; |
private LocationClient mLocClient; |
private boolean isFirstLoc= true ; |
public MyLocationListenner myListener = new MyLocationListenner(); |
/** |
* 定位SDK监听函数 |
*/ |
public class MyLocationListenner implements BDLocationListener { |
@Override |
public void onReceiveLocation(BDLocation location) { |
// map view 销毁后不在处理新接收的位置 |
if (location == null || bmapView == null) { |
return ; |
} |
MyLocationData locData = new MyLocationData.Builder() |
.accuracy(location.getRadius()) |
// 此处设置开发者获取到的方向信息,顺时针0-360 |
.direction(100).latitude(location.getLatitude()) |
.longitude(location.getLongitude()).build(); |
mBaiduMap.setMyLocationData(locData); |
//是否是第一次定位 |
if (isFirstLoc) { |
isFirstLoc = false ; |
LatLng ll = new LatLng(location.getLatitude(), |
location.getLongitude()); |
MapStatus.Builder builder = new MapStatus.Builder(); |
builder.target(ll).zoom(18.0f); |
mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build())); |
} |
} |
@Override |
public void onConnectHotSpotMessage(String s, int i) { |
} |
public void onReceivePoi(BDLocation poiLocation) { |
} |
} |
@Override |
protected void onCreate(Bundle savedInstanceState) { |
super.onCreate(savedInstanceState); |
//在使用SDK各组件之前初始化context信息,传入ApplicationContext |
//注意该方法要再setContentView方法之前实现 |
// SDKInitializer.initialize(getApplicationContext()); |
setContentView(R.layout.activity_main); |
bmapView = (MapView) findViewById(R.id.bmapView); |
mBaiduMap = bmapView.getMap(); |
mBaiduMap.setMyLocationEnabled( true ); |
// 定位初始化 |
mLocClient = new LocationClient( this ); |
mLocClient.registerLocationListener(myListener); |
LocationClientOption option = new LocationClientOption(); |
option.setOpenGps( true ); // 打开gps |
option.setCoorType( "bd09ll" ); // 设置坐标类型 |
option.setScanSpan(1000); |
mLocClient.setLocOption(option); |
mLocClient.start(); |
} |
@Override |
protected void onDestroy() { |
super.onDestroy(); |
//在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理 |
bmapView.onDestroy(); |
} |
@Override |
protected void onResume() { |
super.onResume(); |
//在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理 |
bmapView.onResume(); |
} |
@Override |
protected void onPause() { |
super.onPause(); |
//在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理 |
bmapView.onPause(); |
} |
by: 发表于:2017-10-13 10:10:21 顶(0) | 踩(0) 回复
??
回复评论