Android Studio开发——百度地图定位

    • 开发前配置
    • 项目实例
      • 1.在清单文件中增加权限和添加注册远程服务和配置应用Key
      • 2.在activity_main.xml里添加控件
      • 3.地图初始化
      • 4.通过LocationClient发起定位
      • 5.管理各部分的生命周期
    • 效果展示
    • 参考链接
    • 源码下载

开发前配置

注册和获取密钥
http://lbs.baidu.com/index.php?title=androidsdk/guide/create-project/ak
在项目中集成BaiduMap SDK
http://lbs.baidu.com/index.php?title=androidsdk/guide/create-project/androidstudio

项目实例

1.在清单文件中增加权限和添加注册远程服务和配置应用Key

    <!-- 访问网络,进行地图相关业务数据请求,包括地图数据,路线规划,POI检索等 -->    <uses-permission android:name="android.permission.INTERNET" />    <!-- 获取网络状态,根据网络状态切换进行数据请求网络转换 -->    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />    <!-- 读取外置存储。如果开发者使用了so动态加载功能并且把so文件放在了外置存储区域,则需要申请该权限,否则不需要 -->    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />    <!-- 写外置存储。如果开发者使用了离线地图,并且数据写在外置存储区域,则需要申请该权限 -->    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />    <!-- 这个权限用于进行网络定位 -->    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />    <!-- 这个权限用于访问GPS定位 -->    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"/>        android:name="com.baidu.lbsapi.API_KEY"            android:value="7iQahDjoQr1A8GucQX1zGeINO2IHYS3l"/>

2.在activity_main.xml里添加控件

Android Studio开发——百度地图定位_第1张图片

3.地图初始化

public class DemoApplication extends Application {    @Override    public void onCreate() {        super.onCreate();        //在使用SDK各组件之前初始化context信息,传入ApplicationContext        SDKInitializer.initialize(this);        //自4.3.0起,百度地图SDK所有接口均支持百度坐标和国测局坐标,用此方法设置您使用的坐标类型.        //包括BD09LL和GCJ02两种坐标,默认是BD09LL坐标。        SDKInitializer.setCoordType(CoordType.BD09LL);    }

AndroidManifest.xml:

    <application        android:name=".DemoApplication"

4.通过LocationClient发起定位

    private void initLocation() {  //初始化        mLocationClient = new LocationClient(getApplicationContext());        mLocationClient.registerLocationListener(new MyLocationListener());        SDKInitializer.initialize(getApplicationContext());        setContentView(R.layout.activity_main);        mapView = findViewById(R.id.bmapView);        baiduMap = mapView.getMap();        tv_Lat = findViewById(R.id.tv_Lat);        tv_Lon = findViewById(R.id.tv_Lon);        tv_Add = findViewById(R.id.tv_Add);        LocationClientOption option = new LocationClientOption();        option.setOpenGps(true); // 打开gps        option.setCoorType("bd09ll"); // 设置坐标类型        option.setScanSpan(1000);  //设置扫描时间间隔        //设置定位模式,三选一        option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy);        //开启地图定位图层        mLocationClient.start();        //设置需要地址信息        option.setIsNeedAddress(true);        //保存定位参数        mLocationClient.setLocOption(option);    }

5.管理各部分的生命周期

    @Override    protected void onResume() {        super.onResume();        mapView.onResume();    }    @Override    protected void onPause() {        super.onPause();        mapView.onResume();    }    @Override    protected void onDestroy() {        super.onDestroy();        mLocationClient.stop();        mapView.onDestroy();    }

效果展示

(我是用真机进行调试运行的,如果无法定位,建议参考https://blog.csdn.net/csr_yang/article/details/39530279?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase)

Android Studio开发——百度地图定位_第2张图片

参考链接

显示地图
http://lbsyun.baidu.com/index.php?title=androidsdk/guide/create-map/showmap
显示定位
http://lbsyun.baidu.com/index.php?title=androidsdk/guide/create-map/location

源码下载

https://gitee.com/moshangxveran/BaiduPositioning

更多相关文章

  1. Android 获取远程图片与本地图片缓存
  2. Android引路蜂地图开发示例:概述
  3. Android 通过百度地图SDK 实现地图显示和定位(一)
  4. 百度地图android sdk拖拽overlay item
  5. android 基于百度地图api开发定位以及获取详细地址
  6. Android Google Map实例 - 在地图和卫星图之间切换(Android mapv
  7. android调用第三方地图(URI)

随机推荐

  1. Android(安卓)动画ObjectAnimator中heigh
  2. Ubuntu 18.04 配置android 源码开发/编译
  3. ImageButton动态改变按钮图片
  4. Android中获取短信的内容
  5. Android(安卓)6.0 - 申请动态权限
  6. Android源代码编译
  7. uses-sdk
  8. Android下载网络图片到本地
  9. Android(安卓)官方文档:(二)应用清单 —— 2
  10. android 调用照相功能