[size=large] 百度地图的实现、
一、首先电脑上必须搭建好java环境平台、创建好eclipse运行环境和搭建好android运行环境。
二、登录http://dev.baidu.com/wiki/static/imap/key/网站,然后按照上面的要求就可以得到android Api Key(key在初始化地图的时候要用到)(Api是免费的)和api开发包、
三、创建android新项目
引入api开发包中的baidumap.jar文件引入到项目中
具体操作:右键项目名,找到Properties,在目录下找到->java Build Path-接着在>Libraries中选择"Add JARs",找到并选定baidumapapi.jar确定后返回,这样就可以在自己的项目中使用百度地图API了。
同时在工程里新建libs文件夹(要是本来就有就不用新建了,由于eclipse版本不一样,有的有,有的没有),然后把baidumap.jar这个文件弄到libs文件夹里,将libBMapApiEngine_v1_3_3.so复制到工程目录下的libs\armeabi。
做好了这些前期工作便可可以开始实现百度地图了、
1、增加使用权限
使用百度地图是要用到网络通信的,所以我们必须的开启一些必要的权限。在Mainfest中添加使用权限。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" >
</uses-permission>
<uses-permission android:name="android.permission.INTERNET" >
</uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE" >
</uses-permission>
2、在Mainfest中添加android版本支持
<supports-screens android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:rresizeable="true"
anddroid:anyDensity="true"/>
<uses_sdk android:minSdkVersion="3"></uses_sdk>
这里可能会出错、具体导致的原因我还不是很清楚、要是出错、可以先不写版本支持。同样可以实现、
3、布局文件中添加入地图面板也就是百度地图
<com.baidu.mapapi.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />
4、创建一个Activity,并且继承com.baidu.mapapi.MapActivity,因为我们是对百度地图操作,其实质是我们重写他原有的Activity。
public class MainActivity extends MapActivity {
BMapManager mBMapMan=null;//地图管理者
MapView bMapView;//视图
LocationListener locationlistener;//位置动作监听器
MyLocationOverlay mLocationOverlay;//地图覆盖物
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mBMapMan=new BMapManager(getApplication());//创建百度地图管理者
mBMapMan.init("你申请的key所对应的编码",null);//第一个参数就是你申请的key码
super.initMapActivity(mBMapMan);//初始化百度地图
bMapView=(MapView)findViewById(R.id.bmapView);//找到控件视图
bMapView.setBuiltInZoomControls(true);//设置启动内置的缩放控件
MapController mMapController =bMapView.getController();//得到bMapView的控制权,
//给定一个经纬度构造一个GeoPoint ,单位是微度(度*1E6)
GeoPoint point=new GeoPoint ((int)(39.915*1E6),(int)(116.404*1E6));
mMapController.setCenter(point);//设置地图中心点
mMapController.setZoom(12);//设置地图zoom级别
//获取当前位置的覆盖物
mLocationOverlay=new MyLocationOverlay(this,bMapView);
//添加定位覆盖物
bMapView.getOverlays().add(mLocationOverlay);
上面涉及到的地图管理者:就是一个BMapManager类,地图、定位、搜索功能都需要BMapManager来管理,BMapManager提供四个接口,init, start, stop, destroy。建议在Application里生成BMapManager对象并初使化,在程序退出时调用destory,在需要使用sdk功能的activity的onCreate里调用start, onDestroy调用stop,或者onResume/onPause分别调用start和stop。
地图覆盖物是指覆盖或叠加到地图上的内容,比如一些图标,坐标什么的。比如定位图标就是一个覆盖物、
MapView就是整张的地图
这样上面只哟调用mBMapMan.start()方法启动管理者,便可以显示百度地图了。
接下来实现定位
//定义位置监听器
locationlistener=new LocationListener() {
public void onLocationChanged(Location location) {
//当位置改变时,获取当前经纬度
if (location != null){
//获取位置经纬度
GeoPoint pt = new GeoPoint((int)(location.getLatitude()*1e6),
(int)(location.getLongitude()*1e6));
//将视图中心定位到所在经纬度
bMapView.getController().animateTo(pt);
}
}
};
protected void onResume(){
// 获取位置管理者,视图根据位置监听更新位置
mBMapMan.getLocationManager().requestLocationUpdates(locationlistener);
//打开定位图标
mLocationOverlay.enableMyLocation();
// 打开指南针
mLocationOverlay.enableCompass();
//启动管理着
mBMapMan.start();
super.onResume();
}
这样就实现了定位了、
调用地图MapVie对象的方法
可以显示交通路线图
//显示交通路线
bMapView.setTraffic(true);
卫星图
//显示卫星图
bMapView.setSatellite(true);
[/size]
分享到:
相关推荐
总结,实现“Android实现百度地图定位及自定义缩放图标”主要涉及以下几个步骤:注册并获取百度地图API密钥、添加SDK依赖、创建并初始化MapView、开启定位功能、自定义定位图标以及合理管理定位功能的开启和关闭。...
首先,要实现百度地图定位功能,我们需要在Android项目中引入百度地图SDK。通常,这可以通过在`build.gradle`文件中添加依赖来完成。例如: ```groovy dependencies { implementation '...
在Android平台上实现百度地图功能是一项常见的任务,尤其对于开发者来说,了解如何集成并利用百度地图API来构建应用程序是非常有价值的技能。下面将详细讲解如何在Android应用中集成和使用百度地图,以及相关的知识...
总的来说,Android版百度地图定位自己位置和图层切换涉及了Android SDK集成、位置服务的使用、地图图层管理等多个方面。开发者需要理解Android系统的定位机制,熟悉百度地图SDK的API,才能有效地实现这些功能,为...
总的来说,实现“Android开发之百度地图定位打卡”涉及到Android应用开发基础、百度地图API的集成与使用、位置服务的管理和定制化功能的实现等多个方面,需要开发者具备扎实的Android编程技能和良好的问题解决能力。...
《基于Android的百度地图车辆定位系统设计与实现》 随着汽车保有量的逐年增长,车辆的合理监控调度以及交通管理成为了当前社会亟待解决的问题。GPS定位技术和GPRS网络的发展,为车辆实时定位提供了可能。同时,...
在Android开发中,集成百度地图是一项常见的需求,用于实现定位、导航等功能。本文将深入讲解如何在Android Studio中使用百度地图API实现定位功能,并提供关键步骤的详细说明。 首先,你需要在百度地图开放平台...
12. **Map_Test**:这个可能是项目的测试模块或者一个示例类,其中可能包含关于如何集成和使用百度地图定位功能的代码实例,你可以参考这部分代码进行学习和实践。 以上就是使用Android和百度地图API实现定位用户...
在Android平台上,实现百度地图定位功能是一项常见的需求,尤其对于地理位置相关应用来说至关重要。本文将深入讲解如何在Android应用中集成百度地图定位服务,包括环境配置、关键类的使用以及核心方法的实现。 首先...
- **定位服务**: 使用百度地图SDK提供的定位接口,获取设备当前位置,可以实现跟随定位、定位点标记等功能。 - **标记与信息窗口(Marker与InfoWindow)**: 在地图上添加图标标记,点击后可弹出信息窗口展示详细...
在Android应用开发中,使用百度地图API是一种常见的实践,特别是在实现地理位置相关功能时。本文将深入探讨如何在Android Studio 3.0环境下,利用百度地图SDK实现基于经纬度的定位功能以及地图类型的切换,包括普通...
1积分就可下载 Android安卓百度地图定位实现APP 下载即可用,显示地图、定位导航等文章说的功能 文章链接https://blog.csdn.net/u011752195/article/details/87887410
总的来说,"Android-BDLocationUtil"是一个实用的工具,它降低了Android开发者集成百度地图定位服务的门槛,提高了开发效率,同时也优化了应用的定位体验。通过深入理解和合理运用这个工具类,开发者可以更专注于...
在Android平台上实现百度地图定位是一项常见的任务,尤其对于开发地理信息相关的应用来说至关重要。本文将深入探讨如何在Android应用中集成百度地图API,实现实时定位,并在地图上标注位置。 首先,要实现这个功能...
本文将详细介绍如何在Android应用中监听百度地图的缩放事件,并给出具体的实现代码。 #### 二、环境配置与准备工作 1. **环境搭建**: - **Android Studio**:最新版本的Android Studio。 - **Android SDK**:...
在Android开发中,集成百度地图API来实现定位功能是一项常见的任务。这涉及到多个技术知识点,包括Android SDK的使用、百度地图API的集成、位置服务的开启与使用、以及权限管理等。下面将详细阐述这些关键点。 首先...
"Android百度地图画运动轨迹和GPS定位"这个项目涵盖了Android原生开发、百度地图API的使用、GPS定位技术、图形绘制、用户交互设计等多个方面,是一个综合性的实践练习,有助于提升Android开发者在地理位置服务方面的...
这个实验主要是为了让学生掌握在Android平台上利用百度地图API进行地理定位、地图显示以及相关功能的实现。下面将详细讲解这个实验涉及到的知识点。 1. **Android SDK与Eclipse/Android Studio集成**: 实验首先...
以上就是利用Android和百度地图API实现仿钉钉签到打卡功能的主要步骤。通过这些步骤,我们可以构建一个能够显示用户位置、实时更新方向,并具备打卡功能的应用。为了进一步完善应用,还可以考虑加入网络请求错误处理...