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开发包。
- 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// 获取反地理编码。