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里添加控件

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)

参考链接

显示地图
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用户界面-组件Widget-地图视图MapView
  3. Android中GPS定位的简单应用
  4. Android中滑屏初探 ---- scrollTo 以及 scrollBy方法使用说明
  5. android上一些方法的区别和用法的注意事项
  6. android 定位服务
  7. android触摸实现物体运动方式
  8. android 定位服务
  9. android linker (1) —— __linker_init()

随机推荐

  1. 网站流量异常怎么办?网站流量异常正确反馈
  2. 我的站被收录了两次,被封掉两次,怎么办?
  3. 绝对定位、固定定位及flex,grid属性
  4. 研招网崩了?网络崩溃的原因有哪些?怎么维护
  5. Flex与grid属性思维导图
  6. 盒模型,伪类与媒体查询
  7. CSS Position(定位)详解
  8. 1.box-sizing属性 2.伪类选择器 3.媒体查
  9. 网站SEO优化404页面怎么制作?
  10. 二级域名如何绑定一级目录