Android百度地图显示+抽屉式侧边栏

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

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.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值