`
lixiongzhi_m
  • 浏览: 62148 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

android实现百度地图定位

阅读更多
[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]
分享到:
评论
5 楼 zendly 2014-09-14  
参考最新的百度API吧
4 楼 lixiongzhi_m 2014-09-09  
这个估计快两年前的了,百度地图api都更新了不少了。不知道还能不能用呢。
3 楼 zendly 2014-09-07  
学习啦。楼主赞。!!
2 楼 tangyunliang 2013-11-09  
学习了
1 楼 wangsz052 2013-07-16  
学习,正好需要

相关推荐

    Android实现百度地图定位及自定义缩放图标

    总结,实现“Android实现百度地图定位及自定义缩放图标”主要涉及以下几个步骤:注册并获取百度地图API密钥、添加SDK依赖、创建并初始化MapView、开启定位功能、自定义定位图标以及合理管理定位功能的开启和关闭。...

    android实现百度地图定位功能

    首先,要实现百度地图定位功能,我们需要在Android项目中引入百度地图SDK。通常,这可以通过在`build.gradle`文件中添加依赖来完成。例如: ```groovy dependencies { implementation '...

    android实现百度地图

    在Android平台上实现百度地图功能是一项常见的任务,尤其对于开发者来说,了解如何集成并利用百度地图API来构建应用程序是非常有价值的技能。下面将详细讲解如何在Android应用中集成和使用百度地图,以及相关的知识...

    Android版百度地图定位自己位置

    总的来说,Android版百度地图定位自己位置和图层切换涉及了Android SDK集成、位置服务的使用、地图图层管理等多个方面。开发者需要理解Android系统的定位机制,熟悉百度地图SDK的API,才能有效地实现这些功能,为...

    Android开发之百度地图定位打卡

    总的来说,实现“Android开发之百度地图定位打卡”涉及到Android应用开发基础、百度地图API的集成与使用、位置服务的管理和定制化功能的实现等多个方面,需要开发者具备扎实的Android编程技能和良好的问题解决能力。...

    基于Android的百度地图车辆定位系统设计与实现

    《基于Android的百度地图车辆定位系统设计与实现》 随着汽车保有量的逐年增长,车辆的合理监控调度以及交通管理成为了当前社会亟待解决的问题。GPS定位技术和GPRS网络的发展,为车辆实时定位提供了可能。同时,...

    Android studio 百度地图定位

    在Android开发中,集成百度地图是一项常见的需求,用于实现定位、导航等功能。本文将深入讲解如何在Android Studio中使用百度地图API实现定位功能,并提供关键步骤的详细说明。 首先,你需要在百度地图开放平台...

    android 百度地图定位自己位置

    12. **Map_Test**:这个可能是项目的测试模块或者一个示例类,其中可能包含关于如何集成和使用百度地图定位功能的代码实例,你可以参考这部分代码进行学习和实践。 以上就是使用Android和百度地图API实现定位用户...

    基于Android实现百度地图定位过程详解

    在Android平台上,实现百度地图定位功能是一项常见的需求,尤其对于地理位置相关应用来说至关重要。本文将深入讲解如何在Android应用中集成百度地图定位服务,包括环境配置、关键类的使用以及核心方法的实现。 首先...

    基于android的百度地图应用

    - **定位服务**: 使用百度地图SDK提供的定位接口,获取设备当前位置,可以实现跟随定位、定位点标记等功能。 - **标记与信息窗口(Marker与InfoWindow)**: 在地图上添加图标标记,点击后可弹出信息窗口展示详细...

    Androidstudio3.0百度地图通过经纬度定位&地图类型转换

    在Android应用开发中,使用百度地图API是一种常见的实践,特别是在实现地理位置相关功能时。本文将深入探讨如何在Android Studio 3.0环境下,利用百度地图SDK实现基于经纬度的定位功能以及地图类型的切换,包括普通...

    Android安卓百度地图定位实现APP

    1积分就可下载 Android安卓百度地图定位实现APP 下载即可用,显示地图、定位导航等文章说的功能 文章链接https://blog.csdn.net/u011752195/article/details/87887410

    android 平台上实现百度地图定位

    在Android平台上实现百度地图定位是一项常见的任务,尤其对于开发地理信息相关的应用来说至关重要。本文将深入探讨如何在Android应用中集成百度地图API,实现实时定位,并在地图上标注位置。 首先,要实现这个功能...

    Android 监听百度地图缩放事件

    本文将详细介绍如何在Android应用中监听百度地图的缩放事件,并给出具体的实现代码。 #### 二、环境配置与准备工作 1. **环境搭建**: - **Android Studio**:最新版本的Android Studio。 - **Android SDK**:...

    Android调用百度地图API实现定位

    在Android开发中,集成百度地图API来实现定位功能是一项常见的任务。这涉及到多个技术知识点,包括Android SDK的使用、百度地图API的集成、位置服务的开启与使用、以及权限管理等。下面将详细阐述这些关键点。 首先...

    Android百度地图画运动轨迹和GPS定位

    "Android百度地图画运动轨迹和GPS定位"这个项目涵盖了Android原生开发、百度地图API的使用、GPS定位技术、图形绘制、用户交互设计等多个方面,是一个综合性的实践练习,有助于提升Android开发者在地理位置服务方面的...

    哈工大软件学院android实验之百度地图的使用

    这个实验主要是为了让学生掌握在Android平台上利用百度地图API进行地理定位、地图显示以及相关功能的实现。下面将详细讲解这个实验涉及到的知识点。 1. **Android SDK与Eclipse/Android Studio集成**: 实验首先...

    Android 百度地图定位实现仿钉钉签到打卡功能的完整代码

    以上就是利用Android和百度地图API实现仿钉钉签到打卡功能的主要步骤。通过这些步骤,我们可以构建一个能够显示用户位置、实时更新方向,并具备打卡功能的应用。为了进一步完善应用,还可以考虑加入网络请求错误处理...

    Android实现百度地图移动时自动定位_android源码下载.zip

    在Android平台上,集成百度地图并实现移动时自动定位是一个常见的需求,这有助于为用户提供实时的位置信息和服务。本文将深入解析如何在Android应用中利用百度地图API实现这一功能,并提供源码下载供参考。 首先,...

Global site tag (gtag.js) - Google Analytics