定位1
来源:互联网 发布:python 类的使用 编辑:程序博客网 时间:2024/05/28 16:16
package com.bwei.tt;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.MenuItem;import android.widget.Toast;import com.baidu.location.BDLocation;import com.baidu.location.BDLocationListener;import com.baidu.location.LocationClient;import com.baidu.location.LocationClientOption;import com.baidu.mapapi.SDKInitializer;import com.baidu.mapapi.map.BaiduMap;import com.baidu.mapapi.map.MapStatusUpdate;import com.baidu.mapapi.map.MapStatusUpdateFactory;import com.baidu.mapapi.map.MapView;import com.baidu.mapapi.map.MyLocationData;import com.baidu.mapapi.model.LatLng;public class MainActivity extends Activity {MapView mMapView = null; private BaiduMap mBaiduMap;private Context context;// boolean useDefaultIcon = false;//定位相关private LocationClient mlocationClient;private MyLocationListener mLocationListener;private boolean isFirstIn=true;private double mLatitude;private double mLongtude;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); //在使用SDK各组件之前初始化context信息,传入ApplicationContext //注意该方法要再setContentView方法之前实现 SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main);//获取地图控件引用 mMapView = (MapView) findViewById(R.id.bmapView); mBaiduMap = mMapView.getMap(); this.context=this; //初始化定位 initLocation();// }private void initLocation() {// TODO Auto-generated method stub mlocationClient=new LocationClient(this); mLocationListener=new MyLocationListener(); mlocationClient.registerLocationListener(mLocationListener); LocationClientOption option=new LocationClientOption(); option.setCoorType("bd09ll"); option.setIsNeedAddress(true); option.setOpenGps(true); option.setScanSpan(1000); mlocationClient.setLocOption(option);} @Overrideprotected void onStart() {// TODO Auto-generated method stubsuper.onStart();//开启定位mBaiduMap.setMyLocationEnabled(true);if(!mlocationClient.isStarted())mlocationClient.start();} @Overrideprotected void onStop() {// TODO Auto-generated method stubsuper.onStop();//停止定位mBaiduMap.setMyLocationEnabled(false);mlocationClient.stop();}@Override protected void onDestroy() { super.onDestroy(); //在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理 mMapView.onDestroy(); } @Override protected void onResume() { super.onResume(); //在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理 mMapView.onResume(); } @Override protected void onPause() { super.onPause(); //在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理 mMapView.onPause(); } @Override public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub switch (item.getItemId()) {case R.id.id_map_location:centerLocation();break;default:break;} return super.onOptionsItemSelected(item); } ///定位我的位置 private void centerLocation() {// TODO Auto-generated method stub LatLng latlng=new LatLng(mLatitude, mLongtude);MapStatusUpdate msu=MapStatusUpdateFactory.newLatLng(latlng);mBaiduMap.animateMapStatus(msu);}private class MyLocationListener implements BDLocationListener{@Overridepublic void onReceiveLocation(BDLocation location) {// TODO Auto-generated method stubMyLocationData data=new MyLocationData.Builder()//.accuracy(location.getRadius())//.latitude(location.getLatitude())//.longitude(location.getLongitude())//.build();mBaiduMap.setMyLocationData(data);mLatitude=location.getLatitude();mLongtude=location.getLongitude();//MyLocationConfiguration config=new MyLocationConfiguration(LocationMode.NORMAL, arg1, arg2);if(isFirstIn){LatLng latlng=new LatLng(location.getLatitude(), location.getLongitude());MapStatusUpdate msu=MapStatusUpdateFactory.newLatLng(latlng);mBaiduMap.animateMapStatus(msu);isFirstIn=false;Toast.makeText(context, location.getAddrStr(), Toast.LENGTH_SHORT).show();}} }}
0 0
- 定位1
- 定位1
- 1、室内定位-三边定位
- CSS系列2-定位1:绝对定位VS相对定位
- 专题1:css定位
- AndroidGPS定位详解(1)
- Android GPS 定位 1
- 相机定位(1)
- android定位功能1
- 定位一组元素1
- 定位
- 定位
- 定位
- 定位
- 定位
- 定位
- 定位
- 定位
- 2010断点失效
- 题目199 无线网络覆盖
- python之文件读取一行一行
- hdu 5738(扫描线)
- 上拉 下拉
- 定位1
- viewpager+fragment防止销毁和预加载问题
- ShadowSocks配置信息二维码生成说明
- Android Studio查看MD5与SHA1的办法(Window系统下绝对有效)
- iOS 正则表达式判断邮箱、身份证等是否正确:
- linux-文件类型
- OpenCV历史
- ARC下OC对象和CF对象之间的桥接(bridge)
- 最少步数 NYOJ 58