package com.example.mywork; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.Window; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import com.baidu.location.BDAbstractLocationListener; import com.baidu.location.BDLocation; 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.MapView; public class MainActivity extends AppCompatActivity { private MapView mMapView = null; private BaiduMap bdMap; private Button mBtnLogin; private MyLocationListener myListener=new MyLocationListener(); private LocationClient mLocationClient=null; private EditText text_main_address; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main); //init(); mBtnLogin = findViewById(R.id.btn_login); mBtnLogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v){ Toast.makeText(MainActivity.this,"录入成功!",Toast.LENGTH_SHORT).show(); } }); } public class MyLocationListener extends BDAbstractLocationListener { @Override public void onReceiveLocation(BDLocation location){ double latitude = location.getLatitude(); //获取纬度信息 double longitude = location.getLongitude(); //获取经度信息 float radius = location.getRadius(); //获取定位精度,默认值为0.0f String coorType = location.getCoorType(); //获取经纬度坐标类型,以LocationClientOption中设置过的坐标类型为准 int errorCode = location.getLocType(); //获取定位类型、定位错误返回码,具体信息可参照类参考中BDLocation类中的说明 String addr = location.getAddrStr(); //获取详细地址信息 String country = location.getCountry(); //获取国家 String province = location.getProvince(); //获取省份 String city = location.getCity(); //获取城市 String district = location.getDistrict(); //获取区县 String street = location.getStreet(); //获取街道信息 String adcode = location.getAdCode(); //获取adcode String town = location.getTown(); //获取乡镇信息 mLocationClient.start(); text_main_address=findViewById(R.id.main_address); text_main_address.setText(addr+country+province+city+district+street); } } public void autoAddress(View view) { //LocationClient = new LocationClient(this); //LocationClientOption option = locationClient.getLocOption(); mLocationClient = new LocationClient(getApplicationContext()); //声明LocationClient类 mLocationClient.registerLocationListener(myListener); LocationClientOption option = new LocationClientOption(); option.setIsNeedAddress(true); option.setNeedNewVersionRgc(true); option.setAddrType("all"); //加上这个配置后才可以取到详细地址信息 mLocationClient.setLocOption(option); //注册监听函数 mLocationClient.start(); } /** * 初始化方法 */ //private void init() { //mMapView = findViewById(R.id.bmapview); // bdMap = mMapView.getMap(); //普通地图 //bdMap.setMapType(BaiduMap.MAP_TYPE_NORMAL); //} //@Override //protected void onResume() { // super.onResume(); // mMapView.onResume(); //} //@Override //protected void onPause() { // super.onPause(); // mMapView.onPause(); //} //@Override //protected void onDestroy() { // mMapView.onDestroy(); // mMapView = null; // super.onDestroy(); // } }