App介绍
之前学安卓时候做了一个百度地图定位app。
功能有:显示地图,侧面抽屉布局,悬浮按钮点位点击能回到自己位置,标题栏控件,GPS和网络定位,权限管理等等。
真机测试图


==================================================
后续:加了一些功能:POI检索,周边搜索,搜索框条件搜索,中心标记地点等等功能。
下面是进阶版

主要代码部分
主程序 MainActivity
package com.example.lbstest;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;
import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ZoomControls;
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.BitmapDescriptor;
import com.baidu.mapapi.map.BitmapDescriptorFactory;
import com.baidu.mapapi.map.MapStatusUpdate;
import com.baidu.mapapi.map.MapStatusUpdateFactory;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.MyLocationConfiguration;
import com.baidu.mapapi.map.MyLocationData;
import com.baidu.mapapi.model.LatLng;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.navigation.NavigationView;
import java.util.ArrayList;
import java.util.List;
import static com.baidu.mapapi.map.MyLocationConfiguration.LocationMode.FOLLOWING;
import static com.baidu.mapapi.map.MyLocationConfiguration.LocationMode.NORMAL;
public class MainActivity extends AppCompatActivity {
private TextView positionText;//经纬度等信息显示
private boolean isVisibility_flag = false;//控制是否显示经纬度
private LocationClient mLocationClient;//定位客户端
private MapView mapView;//地图显示
private BaiduMap baiduMap;//地图总控制器
private boolean isFirstLocate = true;//控制第一次经纬度显示次数
private FloatingActionButton Map_but;
private Toolbar toolbar;//标题栏
private DrawerLayout drawerLayout;//抽屉式布局
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mLocationClient = new LocationClient(getApplicationContext());
//注册位置监听器 , 当获取到位置信息时候,会回调
mLocationClient.registerLocationListener(new MyLocationListener());
//初始化:一定要在setContentView之前用
SDKInitializer.

本文介绍了如何使用安卓开发构建一个具备百度地图定位功能的应用。包括显示地图、侧滑抽屉布局、GPS和网络定位、权限管理、POI检索、周边搜索等功能。核心代码展示了MainActivity的实现,涉及LocationClient、地图控件和定位监听器的使用。此外,还提到了Android 6.0以上的运行时权限管理和百度地图API的Key申请流程。
最低0.47元/天 解锁文章
895

被折叠的 条评论
为什么被折叠?



