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"/>
编写代码
- 在编写代码的过程中一定要开启地图的定位图层,不然可能出现下面这种情况,可以显示经纬度和地址,但是不会显示自己的位置:
所以需要开启开启地图的定位图层,代码如下:
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自定义View 使用PathMeasure简单模仿系统ProgressBar(四)
-
Android studio中IDE窗口怎么显示或者隐藏?
-
Android studio怎么使用git获取最新内容然后合并?
-
Android Caused by: java.lang.ClassNotFoundException解决办法
-
Android开发之菜单(menu)用法实例分析
-
Android自定义ScrollView实现放大回弹效果实例代码
-
Android编程之ActionBar Tabs用法实例分析
-
Android自定义View圆形进度条控件(三)
-
Android studio中logcat提示信息设置?
-
Android获取本地相册图片和拍照获取图片的实现方法