欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android

程序员文章站 2022-05-28 20:13:39
...

百度地图定位

作业的内容是:根据百度地图开发者文档,编写百度地图定位程序,在地图上标出自己现在的位置。

准备工作

1.根据百度地图开发者文档进行Android Studio配置,配置的过程在这里
2.配置AndroidManifest.xml文件

    1.加入如下权限使用声明
<!-- 这个权限用于进行网络定位 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- 这个权限用于访问GPS定位 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
   2.在Application标签中声明定位的service组件
<service android:name="com.baidu.location.f"
    android:enabled="true"
    android:process=":remote"/>

编写代码

  1. 在编写代码的过程中一定要开启地图的定位图层,不然可能出现下面这种情况,可以显示经纬度和地址,但是不会显示自己的位置:
    Android
    所以需要开启开启地图的定位图层,代码如下:
mBaiduMap.setMyLocationEnabled(true);

2.显示定位的核心类如下:

    private void navigateTo(BDLocation bdLocation) {
        if(isFirstLocate){
            LatLng ll = new LatLng(bdLocation.getLatitude(),bdLocation.getLongitude());
            MapStatusUpdate update = MapStatusUpdateFactory.newLatLng(ll);
            baiduMap.animateMapStatus(update);
            isFirstLocate = false;
        }
        /*获取当前位置 并显示到地图上*/
        MyLocationData.Builder locationBuilder = new MyLocationData.Builder();
        locationBuilder.latitude(bdLocation.getLatitude());
        locationBuilder.longitude(bdLocation.getLongitude());
        MyLocationData locationData = locationBuilder.build();
        baiduMap.setMyLocationData(locationData);
        baiduMap.setMyLocationEnabled(true);
        
    }

3.布局文件中需要添加一个MapView控件,添加方式是通过代码的方式添加

    <!--百度地图控件-->
    <com.baidu.mapapi.map.MapView
        android:id="@+id/bmapView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:clickable="true" />

最后加上源代码地址和最终效果:github
Android

相关标签: android studio