Android百度地图——定位SDK(版本v3.1)(一)
【推荐下载】Android中百度地图基础实现,定位
Android 中百度地图基础实现,定位2017/04/23 7533 1 登录百度账号 2 下载对应sdk 3 登陆API 控制台申请key-创建应用-配置应用-获取安全码获取秘钥中:获得开发版sha1:打开AndroidStudio 的Terminal 窗口,进入.android 目录(默认是在C:\Users\Administrator.android 目录下),输入如下命令:keytool -v -list -keystore debug.keystore 密码为:android(输入时不显示) 获得发布版sha1: 1.将项目打包,Build–Generated Signed APK(不会打包?看这里),生成jks 库文件2.进入jks 文件所在目录,键如下命令keytool -list -v -keystore store.jks 实现:import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.widget.TextView;import com.baidu.mapapi.SDKInitializer;import com.baidu.mapapi.map.BaiduMap;import com.baidu.mapapi.map.MapStatus;importcom.baidu.mapapi.map.MapStatusUpdateFactory;importcom.baidu.mapapi.map.MapView;import com.baidu.location.BDLocation;import com.baidu.location.BDLocationListener;import com.baidu.location.LocationClient;import com.baidu.location.LocationClientOption;import com.baidu.location.BDNotifyListener;// 假如用到位置提醒功能,需要import 该类import com.baidu.location.Poi;import com.baidu.mapapi.map.MyLocationData;import tLng;import java.util.List;public class MainActivity extends AppCompatActivity { public LocationClient mLocationClient = null; public BDLocationListener myListener = new MyLocationListener(); private TextView location_text; private BaiduMap baiduMap; private boolean isFirstLoc=true; @Override protected void onCreate(Bundle savedInstanceState) { // SDKInitializer.initialize(getApplicationContext()); super.onCreate(savedInstanceState); setContentView(yout.activity_main); location_text = (TextView) findViewById(R.id.location); MapView map= (MapView)。
百度地图sdk定位和遇到的坑
百度地图sdk定位和遇到的坑封装定位服务类:import android.content.Context;import com.baidu.location.BDAbstractLocationListener;import com.baidu.location.LocationClient;import com.baidu.location.LocationClientOption;import com.baidu.location.LocationClientOption.LocationMode;/**** @author baidu**/public class LocationService {private LocationClient client = null;private LocationClientOption mOption,DIYoption;private Object objLock = new Object();/***** @param locationContext*/public LocationService(Context locationContext){synchronized (objLock) {if(client == null){client = new LocationClient(locationContext);client.setLocOption(getDefaultLocationClientOption());}}}/***** @param listener* @return*/public boolean registerListener(BDAbstractLocationListener listener){boolean isSuccess = false;if(listener != null){client.registerLocationListener(listener);isSuccess = true;}return isSuccess;}public void unregisterListener(BDAbstractLocationListener listener){if(listener != null){client.unRegisterLocationListener(listener);}}/***** @param option* @return isSuccessSetOption*/public boolean setLocationOption(LocationClientOption option){boolean isSuccess = false;if(option != null){if(client.isStarted())client.stop();DIYoption = option;client.setLocOption(option);}return isSuccess;}/***** @return DefaultLocationClientOption 默认O设置*/public LocationClientOption getDefaultLocationClientOption(){if(mOption == null){mOption = new LocationClientOption();//如果使⽤设备模式(LocationMode.Device_Sensors),只能在线定位,如果断⽹,回调⽅法就不会调⽤,坑。
基于Android平台和百度地图API的定位系统
基于Android平台和百度地图API的定位系统
基于Android平台和百度地图API的定位系统
王万丽
【期刊名称】《电脑编程技巧与维护》
【年(卷),期】2017(000)018
【摘要】随着当前智能⼿机的⼴泛普及,⼿机APP的开发具有⼴泛的市场前景,在众多APP中定位技术越来越受到⼴⼤APP开发商的青睐.以当前应⽤极为⼴泛的⼿机操作系统——Android系统和由百度推出的百度地图API为基础,研究设计了⼀款具有定位功能的APP.
【总页数】2页(47-48)
【关键词】定位;Android平台;百度地图API
【作者】王万丽
【作者单位】包头轻⼯职业技术学院互联⽹技术学院,内蒙古包头014035【正⽂语种】中⽂
【中图分类】
【相关⽂献】
1.⼀种基于Android平台与百度地图API的旅游助⼿[J], 匡剑波; 任昱果; 黄晓洋
2.基于Android平台的百度地图开发研究 [J], 张波; 赵双明
3.基于Android与百度地图的智能报警系统 [J], 丁⼀; ⾦华; 李允俊
4.基于百度地图API的GPS定位系统简介 [J], 朱润桤
5.基于GPRS和百度地图API的⽕灾定位系统 [J], 赵意鹏; 赵河明; 邓星星; 张树云; 连云飞。
android 百度地图 教程
android 百度地图教程随着移动互联网的普及和发展,地图导航已经成为人们生活中不可或缺的一部分。
百度地图作为国内最主流的地图导航应用之一,拥有强大的功能和广泛的用户群体。
下面是一个关于如何使用百度地图的简要教程。
首先,你需要下载并安装百度地图应用。
你可以在应用商店或者百度官方网站上找到该应用,然后点击下载并按照提示进行安装。
安装完成后,在主屏幕上找到百度地图应用的图标并点击进入。
初次进入应用,你需要进行一些设置,比如选择你所在的城市。
接下来,你可以在搜索框中输入你想要搜索的地点或者地名。
百度地图会自动为你提供相关的搜索结果。
你可以点击搜索结果中的任意一个地点,然后查看地点的具体信息,比如地址、电话号码、营业时间等等。
如果这个地点是你想要的目的地,你可以点击“导航”按钮,百度地图会为你规划好最佳的行驶路线。
如果你当前的位置和目的地之间存在多条可选的路径,百度地图会为你提供这些不同的路径选择。
你可以根据自己的需求选择一条最合适的路线。
在导航过程中,百度地图会提供语音导航和实时路况信息。
你可以通过耳机或者车载音响系统来听取语音导航,这样你就可以专注于驾驶而不会因为看地图而影响安全。
同时,实时路况信息可以帮助你避开路况拥堵的区域,选择更节约时间的路径。
如果你需要查询周边的餐馆、酒店或者其他附近的服务设施,你可以点击屏幕下方的“附近”按钮,在搜索框中输入你想要查询的地点类型,比如“餐馆”,百度地图会为你显示附近的所有餐馆,并提供详细的信息和评价。
除了查询和导航功能,百度地图还提供一些其他实用的功能,比如公交地铁查询、实时公交到站查询、城市景点导览等等。
你可以根据自己的需求和兴趣来探索和使用这些功能。
总之,百度地图是一款非常实用和方便的应用,它可以帮助你快速准确地找到目的地并提供最佳的行驶路线。
无论你是出行、旅游还是生活,百度地图都能提供全方位的地图导航服务。
希望这个简要教程可以帮助你更好地使用百度地图。
百度地图定位开发——Android地图sdk开发
百度地图定位开发——Android地图sdk开发百度地图Android定位SDK是为Android移动端应⽤提供的⼀套简单易⽤的定位服务接⼝,专注于为⼴⼤开发者提供最好的综合定位服务。
通过使⽤百度定位SDK,开发者可以轻松为应⽤程序实现智能、精准、⾼效的定位功能。
打开百度地图sdk开发,输⼊应⽤名称这⾥需要输⼊SHA1,具体寻找SHA1过程可以参考官⽅的⽂档创建成功后,下载官⽅的jar包,将解压后的所有⽂件添加到申请AK时使⽤的项⽬⽂件中的lib⽬录中。
然后在app⽬录下的build.gradle⽂件中android块中配置sourceSets标签,内容如下:sourceSets {main {jniLibs.srcDir 'libs'}}此时就能将部分⽬录添加到项⽬视图中,现在需要将jar⽂件添加到项⽬视图中。
在app⽬录的build.gradle的dependencies块中添加以下代码,然后右键⽬标jar⽂件,选择Add as library,就能将其加⼊到项⽬视图中。
implementation files('libs\\BaiduLBS_Android.jar')然后打开AndroidManifest.xml⽂件,在<application>中加⼊如下代码配置开发密钥AK,并且根据官⽅⽂档,添加权限显⽰地图我们在xml⽂件的代码中直接输⼊<com.baidu.mapapi.map.MapViewandroid:id="@+id/bmapView"android:layout_width="411dp"android:layout_height="662dp"android:clickable="true"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"tools:ignore="MissingClass" />然后我们需要初始化地图,创建⼀个activitypackage com.example.zty_map;import androidx.appcompat.app.AppCompatActivity;import android.app.Application;import android.os.Bundle;import com.baidu.mapapi.CoordType;import com.baidu.mapapi.SDKInitializer;public class MAPZTY1 extends Application {@Overridepublic void onCreate() {super.onCreate();//在使⽤SDK各组件之前初始化context信息,传⼊ApplicationContextSDKInitializer.initialize(this);//⾃4.3.0起,百度地图SDK所有接⼝均⽀持百度坐标和国测局坐标,⽤此⽅法设置您使⽤的坐标类型. //包括BD09LL和GCJ02两种坐标,默认是BD09LL坐标。
百度推出手机地图Android SDK基础地图服务平台全线升级
百度推出手机地图Android SDK基础地图服务平台全线升级闻发
【期刊名称】《中国测绘》
【年(卷),期】2011(000)003
【摘要】记者日前获悉,百度地图API 1.2版本发布.同时推出移动版API服务,支持Android手机地图SDK.百度基础地图服务平台全线升级。
广大位置应用开发者将能够利用其强大的平台支持,为网民提供更丰富.多元.个性的地图应用服务。
【总页数】1页(P87-87)
【作者】闻发
【作者单位】不详
【正文语种】中文
【中图分类】TP311.13
【相关文献】
1.浅谈手机地图产品未来发展方向--基于高德地图和百度地图 [J], 麦世昌;谢小燕
2.基于百度地图API和Android的手机端校园消息发布系统设计与实现——以南
京晓庄学院为例 [J], 陈玲
3.基于百度地图API的智能停车SDK的设计与实现 [J], 邱龙龙;牛强;陈云飞;张军
4.手机地图在"地图的阅读"探研教学中的运用
——以百度地图APP为例 [J], 吴孟宇;贺志康
5.基于百度地图SDK的代驾平台LBS实时监测系统 [J], 任健
因版权原因,仅展示原文概要,查看原文内容请购买。
ANDROID地图SDK
一、Android地图SDK概述1.Android 地图SDK v3.7.3百度地图Android SDK是一套基于Android 2.1及以上版本设备的应用程序接口。
您可以使用该套SDK开发适用于Android系统移动设备的地图应用,通过调用地图SDK接口,您可以轻松访问百度地图服务和数据,构建功能丰富、交互性强的地图类应用程序。
2.功能介绍1)地图(1)地图展示包括:普通地图(2D,3D)、卫星图和实时交通图(2)地图操作:可通过接口或手势控制来实现地图的点击、双击、长按、缩放、旋转、改变视角等操作。
2)POI检索(1)周边检索:以某一点为中心,指定距离为半径,根据用户输入的关键词进行POI检索;(2)区域检索:在指定矩形区域内、根据关键词进行POI检索;(3)城市内检索:在某一城市内,根据用户输入的关键字进行POI检索;(4)POI详情检索:根据POI的ID信息,检索该兴趣点的详情。
3)地理编码(1)正向地理编码:实现了将中文地址或地名描述转换为地球表面上相应位置的功能;(2)反向地理编码:将地球表面的地址坐标转换为标准地址的过程。
4)线路规划(1)公交信息查询:可对公交详细信息进行查询;(2)公交换乘查询:根据起、终点,查询策略,进行线路规划方案;(3)驾车线路规划:提供不同策略,规划驾车路线;(支持设置途经点)(4)步行路径检索:支持步行路径的规划。
(5)骑行路径检索:支持跨城骑行路径规划。
5)地图覆盖物百度地图SDK支持多种地图覆盖物,帮助您展示更丰富的地图。
目前所支持的地图覆盖物有:定位图层、地图标注(Marker)、几何图形(点、折线、弧线、多边形等)、地形图图层、POI检索结果覆盖物、线路规划结果覆盖物、热力图图层、瓦片图层等。
6)定位采用GPS、WIFI、基站、IP混合定位模式,请使用Android定位SDK获取定位信息,使用地图SDK定位图层进行位置展示。
7)离线地图用户可以通过SDK在线下载离线包接口,下载离线地图包,使用离线地图可节省用户流量,提供更好的地图展示效果。
Android百度地图开发
Android百度地图开发(一)之初体验,android 初体验转载请注明出处:/crazy1235/article/details/42614603做关于位置或者定位的app的时候免不了使用地图功能,本人最近由于项目的需求需要使用百度地图的一些功能,所以这几天研究了一下,现写一下blog记录一下,欢迎大家评论指正!一、申请AK(API Key)要想使用百度地图sdk,就必须申请一个百度地图的api key。
申请流程挺简单的。
首先注册成为百度的开发者,然后打开/apiconsole/key这个网址,添加应用:创建应用最重要的一步是【安全码】。
安全码是有【数字签名】和【;】和【包名】组成。
包名就是你所创建的项目的包的结构,是指AndroidManifest.xml中的manifest标签下的package的值。
数字签名指android的签名证书的SHA1值。
获取数字签名有两种方法:1. 第一种方法:使用eclipse查看。
打开eclipse的preferences菜单,在Android下的【Build】中可以看到SHA1的值,如下图:2. 第二种方法:使用keytool工具(jdk自带)查看。
在控制台下,输入【cd .android】,然后输入【keytool -list -v -keystoredebug.keystore】回车,然后提示你输入【秘钥库口令】,输入【android】回车然后就会显示SHA1的值。
数字签名搞定了,然后创建应用就ok了。
创建完成之后,应用列表中会显示相应的AK,也就是api key。
二、下载SDK开发包打开/map/index.php?title=androidsdk/sdkandev-download网址下载sdk,可以全部下载,也可以自定义下载。
从V2.3.0之后的版本,SDK的开发包以可定制的形式提供下载,用户可以根据自己的项目需要勾选相应的功能下载对应的SDK开发包。
android使用百度地图、定位SDK实现地图和定位功能!(最新、可用+吐槽)
android使用百度地图、定位SDK实现地图和定位功能!(最新、可用+吐槽)2013-10-11 07:57:05 我来说两句作者:ab6326795一、吐槽在百度地图看了几个小时的教程,发现种种问题,很大部分是百度对于定位API 网页上的DEMO代码一大堆错误!这极可能是定位SDK升级后而网页上的DEMO部分代码沿用旧版导致的。
错误1:在该示例中取了个变量叫mLocationClient,后面居然叫mLocClient,我找了半天,说这变量哪来的呢错误2:这个错误是最致命的,在网页上的DEMO(开发指南)里居然连开始定位这个函数至始至终都没调用过!!!新手咋看以为调用这个就可以定位了,擦,其实还应该调用mLocClient.start(); 才行,否则压根就没启动定位。
二、使用百度地图V2.2和定位V4.0实现地图和定位功能1、首先将必要的库文件导入到你的项目里,具体参看这里/map/sdkandev-2.htm/map/geosdk-android-developv4.0.htm2、编写代码(MainActivity.java)package com.android.test;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import com.baidu.location.BDLocation;import com.baidu.location.BDLocationListener;import com.baidu.location.LocationClient;import com.baidu.location.LocationClientOption;import com.baidu.mapapi.BMapManager;import com.baidu.mapapi.map.LocationData;import com.baidu.mapapi.map.MapController;import com.baidu.mapapi.map.MapView;import com.baidu.mapapi.map.MyLocationOverlay;import api.basestruct.GeoPoint;public class MainActivity extends Activity {//百度Keyprivate static final String BD_KEY="请在这里输入你的百度地图Key,这里我删除了我自己的,你自己填";//地图管理器private BMapManager mBMapMan=null;//地图视图private MapView mMapView=null;private LocationClient mLocationClient=null;//我的位置覆盖物private MyLocationOverlay myOverlay;//位置在图层中的索引private int myOverlayIndex=0;//是否定位到我的位置private boolean bmyLocal=true;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);mBMapMan=new BMapManager(getApplication());mBMapMan.init(BD_KEY, null);setContentView(yout.activity_main);//注意:请在试用setContentView前初始化BMapManager对象,否则会报错setContentView(yout.activity_main);mMapView=(MapView)findViewById(R.id.bmapsView);mMapView.setBuiltInZoomControls(true);//设置启用内置的缩放控件MapController mMapController=mMapView.getController();// 得到mMapView的控制权,可以用它控制和驱动平移和缩放GeoPoint point =new GeoPoint((int)(39.915* 1E6),(int)(116.404* 1E6));//用给定的经纬度构造一个GeoPoint,单位是微度 (度 * 1E6) mMapController.setCenter(point);//设置地图中心点mMapController.setZoom(12);//设置地图zoom级别////////////////////////定位功能代码开始mLocationClient=new LocationClient(this);mLocationClient.setAK(BD_KEY);myOverlay=new MyLocationOverlay(mMapView);LocationClientOption option=new LocationClientOption();option.setOpenGps(true);option.setAddrType("all");//返回的定位结果包含地址信息option.setCoorType("bd09ll");//返回的定位结果是百度经纬度,默认值gcj02//当不设此项,或者所设的整数值小于1000(ms)时,采用一次定位模式。
Android使用百度定位SDK方法及错误处理
Android使⽤百度定位SDK⽅法及错误处理之前我的项⽬中的位置定位使⽤的是基站⽅法,使⽤的Google提供的API,但是前天中午突然就不返回数据了,到⽹上搜了⼀下才知道,Google的接⼝不提供服务了,基于时间紧迫⽤了百度现有的SDK,但是在使⽤过程中第⼀次获取位置总是空值,经过多次实验终于成功。
当然,如果需要精确的位置,你可以再加上位置偏移算法。
我的应⽤对这个要求不⾼,就没做,⼀搜⼀⼤把,就不多说了。
下⾯这段话来⾃百度地图API>定位SDK百度地图定位SDK免费对外开放,⽆需申请key。
在使⽤百度定位SDK前,希望先阅读百度定位地图的API。
如果使⽤则被视为对使⽤条款的完全接收,并同意接收本协议的各项条款约束。
⽬前百度地图定位SDK只⽀持Android和Symbian量⼤平台,其他产品正在开放中。
下⾯事例是使⽤Android平台的部分代码。
对于这个平台百度的开放⼈员已经写了完整的demo,把⼯程导⼊到eclipse中之后⼀般没有错误,如果报错的话,eclipse也会给出提⽰。
⼀般可以通过将propertie.properties⽂件名字改为default.properties就可以了,如果还有错误的话,显⽰⼯程activity错误啊什么的,就是SDK版本不对的问题了,你可以通过他的manifest⽂件查看<uses-sdk android:minSdkVersion="8" />找到这个最⼩值,⽐如我下载的是2.6他的最低版本是5,我eclipse默认版本是8,就可以同过右键单击该⼯程,选择最下⾯那个properties 项,然后在弹出对话框的右侧列表中选择Android,在左侧选择API level为5,也就是2.0,然后确定。
就⽊有问题了。
下⾯说⼀下使⽤该API的具体步骤:也可以查看百度定位SDK⾃⼰的开发指南1、⾸先第⼀步就是搭配环境:①先将百度demo中的libs⽂件夹复制到⾃⼰的⼯程。
百度地图移动版SDK开发指南_周德懋
在MaXML文件添加MapView 初始化BMapManager
Tips
BMapManager 的调用:
– – – – 在Application的onCreate()初始化 在Application的onTerminate()销毁 在Activity的onResume()里执行start() 在Activity的onPause()里执行stop()
– 内置的模板Overlay,展现搜索结果
RouteOverlay
– 内置的模板Overlay,展现路线搜索结果 – 内置的模板Overlay,展现公交换乘线路搜索结果
TransitOverlay
自定义ItemizedOverlay
• class TestOverlay extends ItemizedOverlay<OverlayItem> • private List<OverlayItem> itemList • protected OverlayItem createItem(int i) { return itemList.get(i); } • public int size() { return GeoList.size(); }
性能:
– 从主观的操计
– – – – – MapView - 地图视图 MapActivity - 基础Activity MapController – 处理地图移动和缩放 Projection - 转换屏幕坐标和经纬度坐标 Overlay - 自定义覆盖物
支持平台
– Android 1.5以上 – iOS 3.0以上
SDK功能
1 2 • 地图浏览、实时交通、卫星图 • 自定义覆盖物 • 搜索服务:POI、路线、地理/反地理编码 • 定位服务 • 离线地图
Android6.0使用BaiDu地图SDK动态获取定位权限
Android6.0使⽤BaiDu地图SDK动态获取定位权限1.报错原因:在集成百度地图SDK的时候在⼿机上⽆法定位,检查没有任何错误,最后通过搜索才知道是Android版本为6.0的问题,这是因为在Android6.0采⽤了运⾏时权限(RuntimePermissions),Android6.0的权限⼀般分为两种,⼀种时普通权限,可以直接获取,其它的运⾏时权限,需要提⽰⽤户⼿动同意之后,才能获取。
失败的原因就是,⼩⽶⼿机MIUI是Android6.0.1,如果不加动态获取权限的代码,是不会提⽰的,没有得到权限,当然⽆法定位。
2.解决代码:private static final int BAIDU_READ_PHONE_STATE =100;public void showContacts(){if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION)!= PackageManager.PERMISSION_GRANTED|| ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)!= PackageManager.PERMISSION_GRANTED|| ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE)!= PackageManager.PERMISSION_GRANTED) {Toast.makeText(getApplicationContext(),"没有权限,请⼿动开启定位权限",Toast.LENGTH_SHORT).show();// 申请⼀个(或多个)权限,并提供⽤于回调返回的获取码(⽤户定义)ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.READ_PHONE_STATE}, BAIDU_READ_P }else{init();}}//Android6.0申请权限的回调⽅法@Overridepublic void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {super.onRequestPermissionsResult(requestCode, permissions, grantResults);switch (requestCode) {// requestCode即所声明的权限获取码,在checkSelfPermission时传⼊case BAIDU_READ_PHONE_STATE:if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {// 获取到权限,作相应处理(调⽤定位SDK应当确保相关权限均被授权,否则可能引起定位失败)init();} else {// 没有获取到权限,做特殊处理Toast.makeText(getApplicationContext(), "获取位置权限失败,请⼿动开启", Toast.LENGTH_SHORT).show();}break;default:break;}}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);textureMapView = (TextureMapView) findViewById(R.id.mBaidumapView);//判断是否为android6.0系统版本,如果是,需要动态添加权限if (Build.VERSION.SDK_INT>=23){showContacts();}else{init();//init为定位⽅法}}。
基于Android实现百度地图定位过程详解
基于Android实现百度地图定位过程详解⼀、问题描述LBS位置服务是android应⽤中重要的功能,应⽤越来越⼴泛,下⾯我们逐步学习和实现lbs相关的应⽤如定位、地图、导航等,⾸先我们看如何基于百度地图实现定位功能⼆、配置环境2、下载定位SDK,并导⼊SDK如图所⽰:三、编写MyApplication类编写MyApplication类,为了使⽤⽅便我们可以将实现定位的⽅法封装的Application组件中封装下列⽅法1、获取定位信息——requestLocationInfo()2、通过⼴播发送位置信息——sendBroadCast()3、停⽌定位——stopLocationClient()public class MyApplication extends Application{public LocationClient mLocationClient = null;public GeofenceClient mGeofenceClient;public MyLocationListenner myListener = new MyLocationListenner();public static String TAG = "MyApplication";private static MyApplication mInstance = null;@Overridepublic void onCreate(){mInstance = this;mLocationClient = new LocationClient(this);/*** 项⽬的key,⾃⼰到官⽹申请 /apiconsole/key*/mLocationClient.setAK("你的应⽤Key");mLocationClient.registerLocationListener(myListener);mGeofenceClient = new GeofenceClient(this);super.onCreate();Log.d(TAG, "... Application onCreate... pid=" + Process.myPid());}public static MyApplication getInstance(){return mInstance;}/*** 停⽌定位*/public void stopLocationClient(){if (mLocationClient != null && mLocationClient.isStarted()){mLocationClient.stop();}}/*** 发起定位*/public void requestLocationInfo(){setLocationOption();if (mLocationClient != null && !mLocationClient.isStarted()){mLocationClient.start();}if (mLocationClient != null && mLocationClient.isStarted()){mLocationClient.requestLocation();}}/*** 设置百度地图的相关参数*/private void setLocationOption(){LocationClientOption option = new LocationClientOption();option.setOpenGps(true); // 打开gpsoption.setCoorType("bd09ll"); // 设置坐标类型option.setServiceName("com.baidu.location.service_v2.9");option.setPoiExtraInfo(true);option.setAddrType("all");option.setPoiNumber(10);option.disableCache(true);mLocationClient.setLocOption(option);}/*** 监听函数,有更新位置的时候,格式化成字符串,输出到屏幕中 */public class MyLocationListenner implements BDLocationListener {@Overridepublic void onReceiveLocation(BDLocation location){if (location == null){sendBroadCast("定位失败!");return;}sendBroadCast(location.getAddrStr());}public void onReceivePoi(BDLocation poiLocation){if (poiLocation == null){sendBroadCast("定位失败!");return;}sendBroadCast(poiLocation.getAddrStr());}}/*** 得到发送⼴播* @param address*/public void sendBroadCast(String address){stopLocationClient();Intent intent = new Intent(MainActivity.LOCATION_BCR);intent.putExtra("address", address);sendBroadcast(intent);}}三、主程序MainActivitypublic class MainActivity extends Activity{public static String TAG = "LocTestDemo";private BroadcastReceiver broadcastReceiver;public static String LOCATION_BCR = "location_bcr";private Button locBtn;private TextView locInfo;private MyApplication application;@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(yout.activity_main);application=(MyApplication)super.getApplication();initialize();initializeViews();initializeListeners();}private void initialize(){registerBroadCastReceiver();//注册⼴播}private void initializeViews(){locBtn = (Button) findViewById(R.id.location);locInfo = (TextView) findViewById(R.id.location_info);}private void initializeListeners(){locBtn.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){locInfo.setText("定位中...");//调⽤请求定位信息application.requestLocationInfo();}});}/*** 注册⼀个⼴播,监听定位结果,接受⼴播获得地址信息*/private void registerBroadCastReceiver(){broadcastReceiver = new BroadcastReceiver(){public void onReceive(Context context, Intent intent){String address = intent.getStringExtra("address");locInfo.setText(address);}};IntentFilter intentToReceiveFilter = new IntentFilter();intentToReceiveFilter.addAction(LOCATION_BCR);registerReceiver(broadcastReceiver, intentToReceiveFilter);}@Overrideprotected void onDestroy(){super.onDestroy();unregisterReceiver(broadcastReceiver);}}四、 AndroidManifest.xml配置信息<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="/apk/res/android"package="com.jereh.baidulocation"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion="17" /><applicationandroid:name="com.jereh.baidulocation.MyApplication"android:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><activityandroid:name="com.jereh.baidulocation.MainActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="UNCHER" /></intent-filter></activity><serviceandroid:name="com.baidu.location.f"android:enabled="true"android:process=":remote" ><intent-filter><action android:name="com.baidu.location.service_v2.2" ></action></intent-filter></service></application><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" > </uses-permission><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" ></uses-permission><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" ></uses-permission><uses-permission android:name="android.permission.ACCESS_NETWORK_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.WRITE_EXTERNAL_STORAGE" ></uses-permission><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" > </uses-permission><uses-permission android:name="android.permission.READ_LOGS" ></uses-permission><uses-permission android:name="android.permission.VIBRATE" /><uses-permission android:name="android.permission.WAKE_LOCK" /><uses-permission android:name="android.permission.WRITE_SETTINGS" /></manifest>。
百度地图 SDK3.0_key配置
百度地图SDK3.0配置A、配置文件:第一步:在工程里新建libs文件夹,将开发包里的baidumapapi_vX_X_X.jar拷贝到libs根目录下,将libBaiduMapSDK_vX_X_X.so拷贝到libs/armeabi目录下(官网demo 里已有这两个文件,如果要集成到自己的工程里,就需要自己添加),拷贝完成后的工程目录如下图所示;注:liblocSDK3.so和locSDK_3.1.jar为百度定位SDK所使用资源,开发者可根据实际需求自行添加。
第二步:在工程属性->Java Build Path->Libraries中选择“Add External JARs”,选定baidumapapi_vX_X_X.jar,确定后返回。
通过以上两步操作后,您就可以正常使用百度地图SDK为您提供的全部功能了。
注意:由于adt插件升级,若您使用Eclipse adt 22的话,需要对开发环境进行相应的设置,方法如下:1. 在Eclipse 中选中工程,右键选Properties->Java Build Path->Order and Export 使 Android Private Libraries处于勾选状态;2. Project -> clean-> clean all .B、在AndroidManifest中添加开发密钥、所需权限等信息;<application<meta-dataandroid:name="com.baidu.lbsapi.API_KE Y"android:value="开发者 key" /></application>C、添加一些相应的权限<uses-permissionandroid:name="android.permission.GET_ACCOUNTS"/><uses-permissionandroid:name="E_CREDENTIALS"/><uses-permissionandroid:name="android.permission.MANAGE_ACCOUNTS"/><uses-permissionandroid:name="android.permission.AUTHENTICATE_ACCOUNTS"/><uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permissionandroid:name="android.permission.INTERNET"/><uses-permissionandroid:name="uncher.permission.READ_SETTINGS " /><uses-permission android:name="android.permission.CHANGE_WIFI_STATE" ><uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/><uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/><uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permissionandroid:name="android.permission.BROADCAST_STICKY"/><uses-permissionandroid:name="android.permission.WRITE_SETTINGS"/><ses-permissionandroid:name="android.permission.READ_PHONE_STATE" />D、在布局文件中,加入百度地图的自定义控件<com.baidu.mapapi.map.MapViewandroid:id="@id/mapview_baidu_ address"android:layout_width="match_parent"android:layout_h eight="match_parent"/>E、在应用程序创建时初始化 SDK引用的Context 全局变量public class MainActivity extends Activity { @Overrideprotected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); //在使用SDK各组件之前初始化context信息,传入ApplicationContext //注意该方法要再setContentView方法之前实现SDKInitializer.initialize(getApplicationContext()); setContentView(yout.activity_main); }}注意:在SDK各功能组件使用之前都需要调用SDKInitializer.initialize(getApplicationContext());,因此我们建议该方法放在Application的初始化方法中F、创建地图Activity不同之前的版本,3.0版的sdk中,mapview对象需要先获取BaiduMap对象才能由BaiduMap对象进行后续的添加覆盖物的操作。
百度地图之一百度地图搭建开发环境
百度地图之一百度地图搭建开发环境(老罗视频笔记整理)百度地图移动版介绍:1.百度地图移动版API是一套基于移动互联网设备的应用程序接口,支持ios/android平台。
2.通过该接口,您可以轻松访问百度服务和数据,构建功能丰富、交互性强的地图应用程序。
百度地图移动API不仅包含构建地图的基本接口,还提供了诸如定位服务、本地搜索、路线规划等数据服务,你可以根据自己的需要进行选择。
关于百度地图修改的BUG1.百度地图移动版API 1.3.3版本(Android)2.修改国外gps坐标转为百度坐标错误的问题3.添加搜索在线建议词功能4.关于1.3.3版本升级的详细内容和历史升级请参考更新日志。
在类参考文档中,我们也增加了接口说明。
百度地图官网地址:/wiki/imap/index.php新地址:/map/1. 配置Manifest.xml 文件添加百度地图开发的授权:<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"></uses-permis sion><uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"></uses-permis sion><uses-permissionandroid:name="android.permission.INTERNET"></uses-permission><uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-perm ission><uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"></uses-permissio n><uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE"></uses-permissio n><uses-permissionandroid:name="android.permission.READ_PHONE_STATE"></uses-permission >添加对屏幕的支持:<supports-screens android:largeScreens="true"android:normalScreens="true" android:smallScreens="true"android:resizeable="true" android:anyDensity="true"/>2. 在libs中添加百度地图的jar包baidumapapi.jar3. 在布局文件main.xml中添加显示<com.baidu.mapapi.MapViewandroid:id="@+id/bmapView"android:layout_width="fill_parent"android:layout_height="fill_parent"android:clickable="true"/>4 .Activity中的定义类BMapManager 是一个地图引擎管理类,通过此类的start()方法,可以打开地图API;通过此类的stop()方法,可以终止百度地图API,调用此函数后,不会再发生回调。
Android的百度地图开发
成功
申请key
如何把API 添加到我的Android工程中
• 在工程里新建lib libvi_voslib.so 拷贝到libs\armeabi目录下
• 获取密钥 申请新密钥及查看原先申库所提供的类及方法说明 • 相关下载 开发所使用的相关包及说明示例下
例
• 点击 获取密钥 进入密钥申请页并 阅读相关的使用条款
• 勾选 已阅读并同意条款 • 填写应用名称 • 填写一下应用的相应功能及描述 • 输入验证码确定后 密钥即可申请
结果后发送一个指定的消息。
• GeoPoint(int latitudeE6,int longitudeE6) 普通经纬度要乘以106 – 表示一个地理坐标点,存放经度和纬度,以微度的整数形式存储
LocationClient
• 定位处理功能的核心类
– registerLocationListener(BDLocationListener)接收到定位数据后可由指 定监听器中的onReceiveLocation(BDLocation)的方法来接收相关的数据 并做相关的处理Android的地图开发Android进阶
地图API平台介绍地图 Android SDK是一套基于Android 2.1(v1.3.5及以前版本支持 android 1.5以上系统)及以上版本设备的应用程序接口。可以使用该套 SDK开 发适用于Android系统移动设备的地图应用,地图类应用程序。
• 项目属性中Java Build Path->Order and Export中,确定Android Private Libaries与 Android Dependencies这两项前面的选择框 被选上后,点确定
安卓百度地图教程
安卓百度地图教程百度地图是百度公司推出的一款移动地图应用,具有覆盖全国范围内的地图数据、导航、路径规划、周边搜索等功能。
作为一款非常实用的工具,它在我们的日常生活中扮演着重要的角色。
下面我将为大家介绍一下安卓百度地图的使用方法和一些常见功能。
首先,我们需要在手机上下载并安装百度地图应用。
你可以在应用商店中搜索“百度地图”,然后点击下载安装即可。
安装完成后,在手机桌面上会出现百度地图的图标,点击打开应用。
打开百度地图后,我们会看到一个类似于地球仪的界面。
可以通过手指在屏幕上滑动来查看不同的地理位置,可以通过两指捏合或分开的手势来缩放地图。
如果你想要查看某个地点的详细信息,只需要在地图上点击该地点,就会弹出相关的信息窗口,包括名称、地址、评价等。
除了查看地图,百度地图还提供了导航功能。
当你需要前往某个地方时,只需要在搜索框中输入目的地名称即可。
百度地图会给出多条到达目的地的路径选择,可以根据实际情况选择合适的路径。
在导航过程中,百度地图会实时给出导航指示,包括下一步的转向、距离、剩余时间等信息,确保你能准确无误地到达目的地。
导航过程中还可以设置一些导航选项,比如避免拥堵、避开收费站等,以便更好地规划行程。
另外,百度地图还提供了周边搜索功能。
你可以在搜索框中输入关键词,比如“餐厅”、“银行”等,百度地图会找到附近符合条件的地点并显示在地图上。
你还可以在搜索结果中进行筛选,比如按距离、评分等条件排序,更好地符合你的需求。
这个功能非常适合你在新的城市或陌生的地方找到需要的服务。
除了这些基本功能外,百度地图还有很多其他实用的功能。
比如地图收藏,你可以将你经常需要查看的地点添加到收藏夹中,方便下次直接打开。
还有交通态势,可以实时查看道路拥堵情况,避开堵车路段。
此外,百度地图还提供了公交、地铁线路查询,帮助你规划出行路线。
还有天气预报、景点介绍,让你在旅途中更轻松地找到需要的信息。
总之,百度地图是一款非常实用的地图应用,集合了地图浏览、导航、路径规划、周边搜索等多种功能,帮助我们在日常生活中更方便地找到所需的地点和服务。
百度地图SDK的简单接入
百度地图SDK的简单接入一、申请API_KEY1. :在这里注册并申请。
注册之后出现应用列表,选择创建应用:创建应用2. 创建应用后如下图所示:选择•应用类型选择的话,我们选择 Android SDK 就可以了。
SHA1PS:SHA1找了我好久...•SHA1寻找之路:左侧选择项目目录类型 project ,打开右侧 Gradle > app > android > signingReport ,点击发现空白,突然发现左下角有个转换的键(左下标红的地方),答案出来了。
3. 获取基本参数•创建完成,获得API_KEY。
•如无特殊要求,选择基础功能即可:•BaiduLBS_android.jar 放在 project 目录下的 app > libs 目录下,其他so库放在 app > main > 新建文件夹jniLibs 下,或者都可以放jniLibs下。
三、使用百度地图1. 在 AndroidManifest.xml 中添加如下权限:<!-- 这个权限用于进行网络定位--> <uses-permission android:name="android.perm ission.ACCESS_COARSE_LOCATION"/> <!-- 这个权限用于访问GPS定位--> <uses-pe rmission android:name="android.permission.ACCESS_FINE_LOCATION"/> <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位--> <uses-permission android:n ame="android.permission.ACCESS_WIFI_STATE"/> <!-- 获取运营商信息,用于支持提供运营商信息相关的接口--> <uses-permission android:name="android.permissi on.ACCESS_NETWORK_STATE"/> <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位--> <uses-permission android:name="android.permission.C HANGE_WIFI_STATE"/> <!-- 用于读取手机当前的状态--> <uses-permission android: name="android.permission.READ_PHONE_STATE"/> <!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据--> <uses-permission android:name="android.pe rmission.WRITE_EXTERNAL_STORAGE"/> <!-- 访问网络,网络定位需要上网--> <u ses-permission android:name="android.permission.INTERNET" /> <!-- SD卡读取权限,用户写入离线定位数据--> <uses-permission android:name="android.permissi on.MOUNT_UNMOUNT_FILESYSTEMS"/>2. 新建LBSwithBaidu,LBSwithBaidu代码如下:3. 最终效果图:如有不对之处,欢迎指正,谢谢~。
百度地图Android定位SDK
百度地图Android定位SDK作者:黄丽敏时间:2013-07-27百度地图Android定位SDK为基于移动客户端开发LBS应用提供基础定位能力,它较百度Android 地图SDK而言,专注满足用户获取当前位置与获得地址信息描述功能,软件包体积小。
功能更多,接口更友好。
百度Android定位SDK支持Android1.5以及以上设备,提供:▪定位功能:通过GPS、网络定位(WIFI、基站)混合定位模式,返回当前所处的位置信息▪反地理编码功能:解析当前所处的位置坐标,获得详细的地址描述信息。
定位SDK支持多样化服务与定位策略,用户可通过设置不同的定位时间间隔、选择不同的定位服务模式、定制不同的定位结果信息来满足自身需求。
定位原理使用百度Android定位SDK必须注册GPS和网络使用权限。
定位SDK采用GPS、基站、Wi-Fi信号进行定位。
当应用程序向定位SDK发起定位请求时,定位SDK会根据应用的定位因素(GPS、基站、Wi-Fi信号)的实际情况(如是否开启GPS、是否连接网络、是否有信号等)来生成相应定位依据进行定位。
用户可以设置满足自身需求的定位依据:若用户设置GPS优先,则优先使用GPS进行定位,如果GPS定位未打开或者没有可用位置信息,且网络连接正常,定位SDK则会返回网络定位(即Wi-Fi与基站)的最优结果。
为了使获得的网络定位结果更加精确,请打开手机的Wi-Fi开关。
定位精度使用步骤:导入库文件在下载最新的库文件。
将liblocSDK3.so文件拷贝到libs/armeabi目录下。
将locSDK3.3.jar文件拷贝到工程的libs目录下,并在工程属性->Java Build Path->Libraries中选择“Add JARs”,选定locSDK3.3.jar,确定后返回。
设置AndroidManifest.xml在application标签中声明service组件,为了避免各个app公用1个service出现的权限问题,新版本各个app单独拥有自己的定位service.<serviceandroid:name="com.baidu.location.f"android:enabled="true"android:process=":remote"></service>声明使用权限<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission><uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission><uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"></uses-permission><uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission><uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE"></uses-permission><uses-permissionandroid:name="android.permission.READ_PHONE_STATE"></uses-permission><uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <uses-permission android:name="android.permission.INTERNET"/><uses-permissionandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission><uses-permissionandroid:name="android.permission.READ_LOGS"></uses-permission>具体操作1.初始化LocationClient类LocationClient类必须在主线程中声明。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Android百度地图——定位SDK(版本v3.1)(一)分类:Android百度地图2013-02-16 21:12 1078人阅读评论(2) 收藏举报androidAndroidANDROIDgpsGPS在wifi3G2G环境下定位百度地图一、使用百度提供的地图定位服务所需资源:在百度官网,下载百度地图定位SDK(Android版),在里面找liblocSDK3.so和locSDK_3.1.jar这两个文件。
下载地址:/map/geosdk-android-download.htm二、搭建环境:1、将liblocSDK3.so文件拷贝到libs/armeabi目录下,将locSDK3.1.jar文件拷贝到libs 目录下,并将locSDK3.1.jar导入到工程中。
如下图:2、修改AndroidManifest.xml文件:a. 在application标签中声明service组件1<service2android:enabled="true"3android:name="com.baidu.location.f"4android:process=":remote"/>b. 声明所需权限5<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 6<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 7<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>8<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 9<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>10<uses-permission android:name="android.permission.READ_PHONE_STATE"/>11<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 12<uses-permission android:name="android.permission.INTERNET"/>13<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>14<uses-permission android:name="android.permission.READ_LOGS"/>三、具体实现:1、构建LocationClient类的对象,设置定位参数,并注册实现了BDLocationListener 接口的类的对象为监听器。
15mLocationClient = new LocationClient(this.getApplicationContext());1617mBDLocationListener = new MyBDLocationListener();18mLocationClient.registerLocationListener(mBDLocationListener);1920LocationClientOption option = new LocationClientOption();2122// 需要地址信息,设置为其他任何值(string类型,且不能为null)时,都表示无地址信息。
23option.setAddrType("all");24// 设置是否返回POI的电话和地址等详细信息。
默认值为false,即不返回POI的电话和地址信息。
25option.setPoiExtraInfo(true);2627// 设置产品线名称。
强烈建议您使用自定义的产品线名称,方便我们以后为您提供更高效准确的定位服务。
28option.setProdName("定位我当前的位置");2930// 打开GPS,使用gps前提是用户硬件打开gps。
默认是不打开gps的。
31option.setOpenGps(false);3233// 定位的时间间隔,单位:ms34// 当所设的整数值大于等于1000(ms)时,定位SDK内部使用定时定位模式。
35// option.setScanSpan(1000);3637// 查询范围,默认值为500,即以当前定位位置为中心的半径大小。
38option.setPoiDistance(500);39// 禁用启用缓存定位数据40option.disableCache(true);4142// 坐标系类型,百度手机地图对外接口中的坐标系默认是bd09ll43option.setCoorType("bd09ll");4445// 设置最多可返回的POI个数,默认值为3。
由于POI查询比较耗费流量,设置最多返回的POI 个数,以便节省流量。
46option.setPoiNumber(3);4748// 设置定位方式的优先级。
49// 即使有GPS,而且可用,也仍旧会发起网络请求。
这个选项适合对精确坐标不是特别敏感,但是希望得到位置描述的用户。
50option.setPriority(WorkFirst);5152mLocationClient.setLocOption(option);2、发起请求:53// 发起定位请求54 findViewById(R.id.btn_request).setOnClickListener(newView.OnClickListener() {5556@Override57public void onClick(View v) {58 mLocationClient.start();59 }60 });62// 发起重新定位63 findViewById(R.id.btn_location).setOnClickListener(newView.OnClickListener() {6465@Override66public void onClick(View v) {67if (mLocationClient != null && mLocationClient.isStarted()){68 mLocationClient.requestLocation();69 }70 }71 });7273// 发起查询请求74 findViewById(R.id.btn_address).setOnClickListener(newView.OnClickListener() {7576@Override77public void onClick(View v) {78if (mLocationClient != null && mLocationClient.isStarted()){79 mLocationClient.requestPoi();80 }81 }82 });3、编写BDLocationListener接口的实现类,接收异步返回的定位结果和异步返回的POI查询结果。
83final class MyBDLocationListener implements BDLocationListener{8485@Override86public void onReceiveLocation(BDLocation location) {87 Log.e(TAG, "---------onReceiveLocation()---------");8889if(location == null){90 Log.e(TAG, "---------onReceiveLocation------location is NULL----");91return;92 }9394int type = location.getLocType();95 Log.i(TAG, "当前定位采用的类型是:type = " + type);97 String coorType = location.getCoorType();98 Log.i(TAG, "坐标系类型:coorType = " + coorType);99100// 判断是否有定位精度半径101if(location.hasRadius()){102// 获取定位精度半径,单位是米103float accuracy = location.getRadius();104 Log.i(TAG, "accuracy = " + accuracy);105 }106107if(location.hasAddr()){108// 获取反地理编码。
只有使用网络定位的情况下,才能获取当前位置的反地理编码描述。
109 String address = location.getAddrStr();110 Log.i(TAG, "address = " + address);111 }112113 String province = location.getProvince(); // 获取省份信息114 String city = location.getCity(); // 获取城市信息115 String district = location.getDistrict(); // 获取区县信息116117 Log.i(TAG, "province = " + province);118 Log.i(TAG, "city = " + city);119 Log.i(TAG, "district = " + district);120121double latitude = location.getLatitude();122double longitude = location.getLongitude();123 Log.i(TAG, "latitude = " + latitude);124 Log.i(TAG, "longitude = " + longitude);125126 }127128@Override129public void onReceivePoi(BDLocation poiLocation) {130131 Log.e(TAG, "---------onReceivePoi()---------");132133if(poiLocation == null){134 Log.e(TAG, "---------onReceivePoi------location is NULL----"); 135return;136 }137138if(poiLocation.hasPoi()){139 String poiStr = poiLocation.getPoi();140 Log.i(TAG, "poiStr = " + poiStr);141142 }143144if(poiLocation.hasAddr()){145// 获取反地理编码。