Activity_main.xml
1 <?XML version= "1.0" encoding= "Utf-8"?>2 <LinearLayoutxmlns:android= "Http://schemas.android.com/apk/res/android"3 android:orientation= "vertical"4 Android:layout_width= "Match_parent"5 Android:layout_height= "Match_parent">6 7 <TextView8 Android:layout_width= "Wrap_content"9 Android:layout_height= "Wrap_content"Ten Android:id= "@+id/tv_positiontextview"/> One A </LinearLayout>
Androidmanifest.xml
<?XML version= "1.0" encoding= "Utf-8"?><Manifestxmlns:android= "Http://schemas.android.com/apk/res/android" Package= "Acticitytest.exapmle.com.lbstest"> <!--This permission is used for network positioning - <uses-permissionAndroid:name= "Android.permission.ACCESS_COARSE_LOCATION"/> <!--Access GPS Location - <uses-permissionAndroid:name= "Android.permission.ACCESS_FINE_LOCATION"/> <!--Access WiFi network information, WiFi information will be used for network location - <uses-permissionAndroid:name= "Android.permission.ACCESS_WIFI_STATE"/> <!--get the operator information that is used to support the provider's information-related interfaces - <uses-permissionAndroid:name= "Android.permission.ACCESS_NETWORK_STATE"/> <!--get WiFi access, WiFi information will use this network location - <uses-permissionAndroid:name= "Android.permission.CHANGE_WIFI_STATE"/> <!--read current phone status - <uses-permissionAndroid:name= "Android.permission.READ_PHONE_STATE"/> <!--Write extended storage, write data to the expansion card - <uses-permissionAndroid:name= "Android.permission.WRITE_EXTERNAL_STORAGE"/> <!--access the network because network location requires Internet access - <uses-permissionAndroid:name= "Android.permission.INTERNET"/> <!--SD card Read Permissions - <uses-permissionAndroid:name= "Android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <!--allow users to read low level system logs - <uses-permissionAndroid:name= "Android.permission.WAKE_LOCK"/> <ApplicationAndroid:allowbackup= "true"Android:icon= "@mipmap/ic_launcher"Android:label= "@string/app_name"Android:roundicon= "@mipmap/ic_launcher_round"Android:supportsrtl= "true"Android:theme= "@style/apptheme"> <Meta-dataAndroid:name= "Com.baidu.lbsapi.API_KEY"Android:value= "SVXVOFWKMGX9PAIZURIK3Q4TSAXLUV4A"/> <ActivityAndroid:name=". Mainactivity "> <Intent-filter> <ActionAndroid:name= "Android.intent.action.MAIN" /> <categoryAndroid:name= "Android.intent.category.LAUNCHER" /> </Intent-filter> </Activity> <ServiceAndroid:name= "COM.BAIDU.LOCATION.F"android:enabled= "true"android:process= ": Remote"> </Service> </Application></Manifest>
Mainactivity.java
Packageacticitytest.exapmle.com.lbstest;ImportAndroid. Manifest;ImportAndroid.content.pm.PackageManager;ImportAndroid.support.annotation.NonNull;ImportAndroid.support.v4.app.ActivityCompat;ImportAndroid.support.v4.content.ContextCompat;Importandroid.support.v7.app.AppCompatActivity;ImportAndroid.os.Bundle;ImportAndroid.widget.TextView;ImportAndroid.widget.Toast;Importcom.baidu.location.BDLocation;ImportCom.baidu.location.BDLocationListener;Importcom.baidu.location.LocationClient;Importcom.baidu.location.LocationClientOption;Importjava.util.ArrayList;Importjava.util.List; Public classMainactivityextendsappcompatactivity { Publiclocationclient mlocationclient; PrivateTextView Postiontext; @Overrideprotected voidonCreate (Bundle savedinstancestate) {Super. OnCreate (savedinstancestate); Setcontentview (R.layout.activity_main); Mlocationclient=Newlocationclient (Getapplicationcontext ()); Mlocationclient.registerlocationlistener (NewMylocationlistener ()); Setcontentview (R.layout.activity_main); Postiontext=(TextView) Findviewbyid (R.id.tv_positiontextview); List<String> permissionlist=NewArraylist<>(); 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 (Newstring[permissionlist.size ()]); Activitycompat.requestpermissions (mainactivity. This, permissions,1); }Else{requestlocation (); } } Public voidrequestlocation () {initlocation (); Mlocationclient.start ();//Start Positioning } /**used to update location information*/ Private voidinitlocation () {locationclientoption option=Newlocationclientoption (); Option.setscanspan (5000);//Update current location every five secondsmlocationclient.setlocoption (option); } @Override Public voidOnrequestpermissionsresult (intRequestcode, @NonNull string[] permissions, @NonNullint[] grantresults) { Switch(requestcode) { Case1: if(grantresults.length>0){ for(intresult:grantresults) { if(result!=packagemanager.permission_granted) {Toast.maketext ( This, "You must agree to all permissions to use this program", Toast.length_short). Show (); Finish (); return; }} requestlocation (); }Else{Toast.maketext ( This, "Unknown error", Toast.length_short). Show (); Finish (); } Break; default: Break; } } Public classMylocationlistenerImplementsbdlocationlistener{@Override Public voidonreceivelocation (bdlocation bdlocation) {StringBuilder currentpostion=NewStringBuilder (); Currentpostion.append ("Latitude:"). Append (Bdlocation.getlatitude ()). Append ("\ n"); Currentpostion.append ("Longitude:"). Append (Bdlocation.getlongitude ()). Append ("\ n"); Currentpostion.append ("Positioning method:"); if(Bdlocation.getloctype () = =bdlocation.typegpslocation) {Currentpostion.append ("GPS"); }Else if(Bdlocation.getloctype () = =bdlocation.typenetworklocation) {Currentpostion.append (Network); }Else{currentpostion.append ("Not recognized"); } postiontext.settext (Currentpostion); }} @Overrideprotected voidOnDestroy () {Super. OnDestroy (); Mlocationclient.stop ();//Always keep in mind that when the activity is destroyed, the battery will be powered }}
Use of Android Baidu map (1)