- 浏览: 117530 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
lehehe:
恩恩,不过我觉得用接口比较方便,http://www.haos ...
android WIFI定位 -
sunlok:
不错的功能,学习了!
android ListView根据字母排序和定位
android实现GPS定位
实现GPS定位功能主要是引入百度地图的包import com.baidu.mapapi
要引入则需要先下载百度地图移动版API开发包由于下载过程较为繁琐;我这里将提供现成的压缩文件
如果需要,可以自由下载;
得到API开发包后还要得到密钥,即Key;为方便大家学习,这里也将提供自由的Key;
只需将这密钥复制到后面的代码上就可以了(22FCFCD052AAAE640F34D608D98CDED68B0744A5)
嗯,现在我们可以准备创建android项目了;创建好项目后、将APi开发包中的baidumap.jar文件引入
到项目名下;其步骤是:右键项目名,找到Properties,在目录下找到->java Build Path-接着在
>Libraries中选择"Add JARs",找到并选定baidumapapi.jar;这样就可以使用API了。
由于版本不同的原因、有些项目里面没有libs文件夹,如果有的话就不用新建了;然后再将
baidumap.jar文件复制到libs文件中、还要将libBMapApiEngine_v1_3_3.so复制到工程目录下的libs
\armeabi。
在敲入代码之前、我们需要增加地图的使用权限;在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>
<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>
有些版本中需要在mainfest中增加android权限、但我的就不需要增加;如果需要;可以试
试下面的代码;
- <com.baidu.mapapi.MapView
- android:id="@+id/bmapView"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:clickable="true" />
<com.baidu.mapapi.MapView android:id="@+id/bmapView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" />
接着便是写主函数Activity的类了,其继承MapActivity的类、
先声明需要的对象:
- BMapManager mBMapMan=null;//地图管理者
- MapView bMapView;//视图
- LocationListener locationlistener;//位置动作监听器
- MyLocationOverlay mLocationOverlay;//地图覆盖物
BMapManager mBMapMan=null;//地图管理者 MapView bMapView;//视图 LocationListener locationlistener;//位置动作监听器 MyLocationOverlay mLocationOverlay;//地图覆盖物
然后,在主函数中创建百度地图的主对象;调用使用密钥参数的方法;接着初始化视图和找到空间视图。
- //创建百度地图管理者
- mBMapMan=new BMapManager(getApplication());
- mBMapMan.init("22FCFCD052AAAE640F34D608D98CDED68B0744A5",null);
- //第一个参数就是你申请的key码
- super.initMapActivity(mBMapMan);//初始化百度地图
- bMapView=(MapView)findViewById(R.id.bmapView);//找到控件视图
//创建百度地图管理者 mBMapMan=new BMapManager(getApplication()); mBMapMan.init("22FCFCD052AAAE640F34D608D98CDED68B0744A5",null); //第一个参数就是你申请的key码 super.initMapActivity(mBMapMan);//初始化百度地图 bMapView=(MapView)findViewById(R.id.bmapView);//找到控件视图
接着设置内置的缩放控件和控件视图的控制权;
- bMapView.setBuiltInZoomControls(true);//设置启动内置的缩放控件
- MapController mMapController =bMapView.getController();//得到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);
//给定一个经纬度构造一个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);
定义位置监听器、获取地图位置
- //定义位置监听器
- 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);
- }
- }
- };
//定义位置监听器 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();
- }
protected void onResume(){ // 获取位置管理者,视图根据位置监听更新位置 mBMapMan.getLocationManager().requestLocationUpdates(locationlistener); //打开定位图标 mLocationOverlay.enableMyLocation(); // 打开指南针 mLocationOverlay.enableCompass(); //启动管理着 mBMapMan.start(); super.onResume(); }
这样、android百度地图就可以在手机上实现了。。。如果还有报错话、那就是主函数中要求添加一个判断方法;此方法不需要重写;其作用目前还不清楚。。。
由于文件上传有问题,所以这里提供下载的地址;
http://dev.baidu.com/wiki/imap/index.php?title=Android%E5%B9%B3%E5%8F%B0/%E7%9B%B8%E5%85%B3%E4%B8%8B%E8%BD%BD
发表评论
-
SQLite 增删改查的工具类
2014-05-03 00:23 883SQLite 增删改查的工具类 -
将android工程打包生成apk文件
2014-04-21 18:56 7101.)生成keystore 按照下面的命令行 在C:\Pr ... -
android - 自定义标题栏(在标题栏中增加按钮和文本居中)
2012-10-09 10:57 2226现在很多的Android程序都在标题栏上都显示了一些按钮和标题 ... -
改变背景颜色
2012-10-08 10:47 805package com.tony.tabstudy; imp ... -
按钮文字变色
2012-09-26 14:15 870按钮文字变色 我们首先添加一个ColorStateLis ... -
ListView与Button共存问题
2012-09-25 09:34 627ListView 和 其它能触发点击事件的widget无法一起 ... -
ListView与Button共存问题
2012-09-20 17:06 608http://blog.csdn.net/xinqiqi123 ... -
获取手机SIM卡电话号码信息
2012-09-24 09:25 1177<uses-permission android:nam ... -
android判断用户网络类型
2012-09-18 20:42 4514Nettestactivity代码 ... -
android权限大全
2012-09-24 09:25 636访问登记属性 android.permission.AC ... -
android listView点击拓展出一些子item
2012-08-20 22:23 790android有些应用中listView点击item就会在 ... -
数据结构面试之六——二叉树的常见操作2(非递归遍历&二叉排序树)
2012-08-20 22:05 1347六、二叉树的基本操作(非递归遍历)&二叉排序树的操作 ... -
Activity的启动模式(android:launchMode)
2012-08-20 21:58 805在android里,有4种activity ... -
android面试题
2012-08-16 13:10 794打包下载: <ignore_js_op> Andr ... -
二叉树
2012-08-08 22:41 662http://blog.163.com/qhx_405/blo ... -
二叉树遍历
2012-08-08 22:27 701二叉树遍历 博客分类: 算法 数据结构CC++C#F# ... -
Android开发_如何调用系统默认浏览器访问
2013-11-04 11:20 695一、启动android默认浏览器 Intent ... -
图片滚动的几种常用组件的使用
2014-05-04 01:31 717图片滚动的几种常用组件的使用 写在前面:屏幕切换指的是在 ... -
android签名
2012-07-29 19:17 793Android 签名详解(三种方法) 2012 - 7 ...
相关推荐
在Android平台上实现百度地图功能是一项常见的任务,尤其对于开发者来说,了解如何集成并利用百度地图API来构建应用程序是非常有价值的技能。下面将详细讲解如何在Android应用中集成和使用百度地图,以及相关的知识...
在Android开发中,集成百度地图并实现定位打卡功能是一项常见的需求。这涉及到多个技术点,包括Android SDK的使用、百度地图API的集成、位置服务的开启与管理、地图的显示与交互、以及自定义打卡逻辑等。下面我们将...
在Android开发中,百度地图API是一个非常常用的工具,它提供了丰富的地图展示、定位、路径规划等功能,极大地便利了开发者在构建地理位置相关应用时的工作。"老罗android 百度地图开发源码"是一个示例项目,它展示了...
在Android开发中,集成百度地图SDK可以让应用具备地图展示、定位等功能。本教程将详细介绍如何在Android Studio项目中实现这一过程。首先,确保你已经安装了Android Studio,并且熟悉基本的Android开发环境。 1. **...
本项目"Android-仿百度地图抽屉拖拽效果"旨在实现一个类似的功能,让用户在自己的Android应用中也能添加这一特性。 抽屉效果通常通过Android的SlidingPaneLayout或者NavigationView来实现,但在这个项目中,开发者...
本文将详细介绍如何在Android应用中监听百度地图的缩放事件,并给出具体的实现代码。 #### 二、环境配置与准备工作 1. **环境搭建**: - **Android Studio**:最新版本的Android Studio。 - **Android SDK**:...
在Android平台上开发基于百度地图的应用是一项常见的任务,它涉及到Android编程、网络通信、地理信息系统(GIS)以及百度地图API的使用。本项目标题为“基于android的百度地图应用”,其描述指出该应用功能虽简单但...
在Android应用开发中,使用百度地图API是一种常见的实践,特别是在实现地理位置相关功能时。本文将深入探讨如何在Android Studio 3.0环境下,利用百度地图SDK实现基于经纬度的定位功能以及地图类型的切换,包括普通...
在哈工大软件学院的Android实验中,学生们会被引导学习如何在应用程序中集成并使用百度地图服务。这个实验主要是为了让学生掌握在Android平台上利用百度地图API进行地理定位、地图显示以及相关功能的实现。下面将...
在Android平台上实现百度地图定位是一项常见的任务,尤其对于开发地理信息相关的应用来说至关重要。本文将深入探讨如何在Android应用中集成百度地图API,实现实时定位,并在地图上标注位置。 首先,要实现这个功能...
在Android开发中,调用第三方地图服务如百度地图,是常见的功能实现,尤其在需要定位、导航或搜索地点的应用场景中。本项目“Android 安卓调用百度地图,实现定位和搜索功能”是一个适用于学生毕业设计的学习资源,...
本文将深入探讨如何在Android项目中实现百度地图功能,并提供相关的源码和文档说明。 首先,要使用百度地图API,开发者需要在百度地图开放平台注册并创建一个应用,获取到API密钥(AK)。这个AK是连接你的应用和...
在Android开发中,集成百度地图API是一个常见的需求,主要用于实现位置定位、路线规划、地图展示等功能。本项目“Android百度地图demo”是一个示例工程,它利用了百度官方提供的SDK,帮助开发者快速理解和掌握如何在...
首先,要实现百度地图定位功能,我们需要在Android项目中引入百度地图SDK。通常,这可以通过在`build.gradle`文件中添加依赖来完成。例如: ```groovy dependencies { implementation '...
Android 6.0 百度地图开发是指在 Android 6.0 平台上使用百度地图开发工具和 API 来实现地图应用程序的开发。以下是 Android 6.0 百度地图开发的关键步骤和知识点: 一、Android 6.0 开发环境的配置 1. 安装 JDK:...
Android开发之百度地图定位以及简单覆盖物的实现更多查看我博客: https://blog.csdn.net/xiayiye5/article/details/83686406
在Android开发中,集成百度地图API来实现定位功能是一项常见的任务。这涉及到多个技术知识点,包括Android SDK的使用、百度地图API的集成、位置服务的开启与使用、以及权限管理等。下面将详细阐述这些关键点。 首先...
在Android开发中,使用百度地图API来实现运动轨迹和GPS定位是一项常见的功能。这个实训项目主要涉及以下几个核心知识点: 1. **百度地图API**:首先,你需要集成百度地图SDK到你的Android项目中。这通常包括在项目...
这里我们关注的是一个2015年的"Android百度地图个人开发demo 源码程序",它提供了丰富的功能,可以帮助开发者快速理解和实践如何在Android应用中集成并操作百度地图。 首先,这个Demo展示了**地图图层展示**,这是...
综上所述,通过集成百度地图API,开发者可以在Android应用中实现强大的地图功能,提升用户体验。但同时也要注意,使用这些服务可能带来的性能和隐私问题,合理优化和管理地图相关操作。在开发过程中,参考官方文档和...