android 百度开发论坛,Android 百度地图开发(一)

现在好多手机应用开发需要使用到百度地图,在使用百度地图的过程和遇到的问题整理一下方便以后使用

申请密钥

使用白度地图首先需要申请API Key,申请百度账户才能得到API Key. 登录 http://developer.baidu.com/map/ 点击申请密钥

申请过程中需SHA1,使用Eclipse的同学应该很容易使用图像工具找到,但是使用Android-studio的同学可能找不到,我也没有找到

我找的过程是,打开cmd,或者在AS中的Terminal.找到debug-keystore文件,比如我的是D:\Users\*****\.android.

在Termina中进入该文件目录,然后输入"keytool -list -v -keystore debug.keystore",命令,记住进入目录下.

申请密钥的其他步骤就不在此多说了.拿的密钥后我们就可以正式在我们的App中使用了.

正式开发

创建好项目后,首先将API包括的两个文件baidumapapi.jar和libBMapApiEngine.so拷贝到工程根目录及libs\armeabi目录下,

AS添加jar有两种方法,一种是在所要添加的jar上右键选择"Add as library"即可,一种是打开build.gradle,build.gradle有两个

一定要打开项目内部的build.gradle,添加下面的代码,

dependencies {

.....

compile files('libs/BaiduLBS_Android.jar')

}

基本使用

在AndroidManifest.xml中添加

android:name="com.baidu.lbsapi.API_KEY"

android:value="AK" />

name就是上面的name不要改变,value是你申请到的AK.

百度API所需权限

基本是那个就是这些权限了.

在自己的xml文件中加入mapview,

android:id="@+id/m_mapview"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:clickable="true" />

在Activity中的onCreate方法中,

private MapView mBaiduMapView = null;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

SDKInitializer.initialize(getApplicationContext());

setContentView(R.layout.activity_main);

initBaiduMap();

}

注意两点,

1.initialize方法中必须传入的是ApplicationContext,传入this,或者MAinActivity.this都会报运行时异常.

2.initialize方法必须写在setContentView方法前面,新同学也许会写在后面结果报xml中的错误.

private void initBaiduMap(){

mBaiduMapView = (MapView) findViewById(R.id.m_mapview);

}

写到这里基本上就可以运行出效果了.

@Override

protected void onResume() {

super.onResume();

mBaiduMapView.onResume();

}

@Override

protected void onPause() {

super.onPause();

mBaiduMapView.onPause();

}

@Override

protected void onDestroy() {

mBaiduMapView.onDestroy();

mBaiduMapView = null;

super.onDestroy();

}

有的新同学使用AS运行的时候会报错,我写出我自己遇到的几个错误.

1.java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.comjni.map.basemap.JNIBaseMap.Create:()J

这个是由于在AS上我们将.so文件放在了libs文件夹中,在AS中这样是不行的.我们需要将其放在JniLibs文件夹中,于是有的新同学就自己创建了

JniLibs文件夹结果还是不行,这个时候新同学可以仔细看一下你所创建的JniLibs文件夹和res文件是否一样,有个金黄色的圆柱行的标志,在右下角.

如果没有那就对了新同学其实不需要自己添加JniLibs文件夹的.我们所要做的是:

打开项目内部的build.gradle,添加下面的代码,

sourceSets {

main {

jniLibs.srcDir 'libs'

}

}

再看一下是否有了JniLibs文件夹.这样就不会后此错误了.

2.也许运行的时候会遇见230错误,Authentication Error errorcode: 230 uid: -1 appid -1 msg: APP Scode码校验失败.

这个其实基本上是自己的AK出现了问题,你可以查看自己的SHA1是否正确,申请密钥时填写的包名是否完整.

另外有的同学的电脑上有两个\.android\debug-keystore文件,我就是这样被坑了的.所有确认一下自己的AS所对应的debug-keystore文件.

今天就写到这里,后续我还会在继续使用百度地图踩踩坑,总结一下为新同学填坑.

版权声明:本文为博主原创文章,未经博主允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/340329.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

s905各种型号的区别_梯式桥架和槽式桥架的区别介绍

电缆桥架是我们日常生活中经常可以看到的一种既可以保护电缆电线不受外界因素损坏,并保障着我们用电安全的一种建筑材料。电缆桥架是由支架、托臂以及安装附件组成的,桥架既可独立架设安装,也可以敷设在建筑物和管廊支架上。对于电缆桥架型号…

shell中正则表达式详解_Linux中的正则表达式

点击上方Linux迷,关注我们正文来自:https://www.linuxmi.com/linux-zhengzebiaodashi.html正则表达式就是用于匹配每行输入的一种模式,模式是指一串字符序列。拥有强大的字符搜索功能。也非常方便的搜索过滤出我们想要的内容。Linux系统&…

android 编辑9图片,Android基础入门教程——1.6 .9(九妹)图片怎么玩

Android基础入门教程——1.6 .9(九妹)图片怎么玩Android基础入门教程1.本节引言:可能有的一些疑问:1.什么是.9图片?答:图片后缀名前有.9的图片,如pic1.9.png这样的图片2. .9图片能干嘛?答: 在图片拉伸的时候…

Spring WebClient和Java日期时间字段

WebClient是Spring Framework的反应式客户端,用于进行服务到服务的调用。 WebClient已成为我的实用工具,但是最近我意外地遇到了一个问题,即它处理Java 8时间字段的方式使我绊倒了,本文对此进行了详细介绍。 快乐之路 首先是幸福…

2台电脑一根网线传文件_Iphone 和PC如何共享文件

iphone上有个隔空传送的功能,传文件非常方便,但是需要苹果全家桶才能使用,和个人pc如何传文件,特别是家里的主力台式机,需要传个视频文件,微信25m限制,插线也不太方便,能否和隔空传送…

如何将原图和json融合_双曲知识嵌入:如何将知识“融合”带入新空间?

知识图谱作为人类知识的结构化数据,是构建人工智能的基石。然而目前的知识图谱都是不完备的,所以需要将多个知识图谱融合以获得更完备的知识库。基于表示学习的知识关联作为知识图谱融合的新方法受到了许多关注。但知识关联模型面临着参数多、复杂性高、…

android viewgroup点击变色,Android ViewGroup事件分发

上篇文章已经分析了Android的Touch事件分发。如果没看的建议先看一下。Android View的Touch事件分发。接下来我们开始写几种场景,得出一个初步的执行顺序,然后我们按照这个顺序开始分析。首先我们自定义一个ViewGroup和一个View,然后重写相关…

qq数据泄露_真良心,腾讯这个app竟然能查账号泄露

最近有朋友都在分享腾讯手机管家,纷纷表示这是一个良心app,能查到自己账号泄露。仔细想一下,这么多年下来确实忘了自己都在什么平台或网站注册过账号,在黑客泛滥的今天,黑客很容易从一些平台窃取数据库,拿到…

vue 如何获取图片的原图尺寸_阳台洗衣机组合柜如何设计|尺寸规范|案例图片...

对于阳台装洗衣机来说,不只是简单的装修,还需要我们考虑水电、尺寸以及美观实用等问题,以免后期出现问题的时候会更加麻烦。接下来深圳装修网小编就为你们带来阳台洗衣机组合柜的案例赏析,以及装修的尺寸规范等内容,一…

print2flashwindows7旗舰版下载哪一个_JUJUMAO_MSDN原版 win 7 二合一 旗舰版32位 64位原版ISO镜像...

文件: F:\JUJUMAO_msdn_Win7_ultimate_x86_x64.iso大小:4.73G(5082120192 字节) MD5: AA4C7E80C52AC0DEDC757EF86CF8057BSHA1: 66505AD9424ED2D2B0DEDE7067917B708A67C7DDCRC32: 0E2FAB2C高速下载地址:https://jujumao.cowtransfer.com/s/3220a80131744fJUJUMAO_MSD…

lambda ::表达式_Lambda表达式和流API:基本示例

lambda ::表达式这篇博客文章包含基本Lambda表达式和Stream API示例的列表,我在2014年6月在Java用户组Politechnica Gedanensis (格但斯克技术大学)和Goyello的实时编码演示中使用了这些示例。 Lambda表达式 句法 最常见的示例: …

android readonly file system,安卓ROOT权限下“Read-only file sytem”解决办法

今天用安卓模拟器:BlueStacks,打开apk终端模拟器:Terminal,在shell操作命令的时候提示“Read-only file sytem”:第一种方法:在 Android 系统中,我们通过 adb 登录到 shell 进行操作时&#xff…

客制化键盘编程_客制化键盘劝退指南

客制化键盘劝退指南最近总感觉mac book pro的键盘不太好用,所以把家里用的杜伽K320拿到公司用了。这把键盘,樱桃的银轴,红轴的压力克数,更小的键程,用起来还是不错的。如此一来,家里的台式机没有键盘了&…

HTML5怎样设置站点,我是怎样让网站用上HTML5 Manifest

Manifest是用来做离线页面的,即使断网也能正常打开页面,用起来简单,但是在实际使用中存在以下问题:(1)如何自动缓存所有的页面的资源?因为manifest不能使用*通配符进行cache(2)如果网站资源更新,怎么让mani…

wallpaper怎么设置锁屏_Apple ID密码忘了怎么找回?丨如何让面容和指纹解锁立马失效?...

忘记Apple ID这种事肯定不少果粉都经历过,像小编也是如此,因为密码都比较复杂,如果太久没输入过密码,久而久之就忘了。哪一天突然需要用的时候,怎么想也想不起来。想不起来的话我们就别想了,直接重置密码就…

在Java中将时间单位转换为持续时间

java.util.concurrent.TimeUnit以给定的粒度单位表示Java中的持续时间,并提供了跨单位转换的实用方法。 java.util.concurrent.TimeUnit最早是在Java早期(1.5)引入的,但自那时以来已经被扩展了好几次。 在此博客文章中&#xff0c…

ajax contenttype详解_$.ajax中contentType: “application/json” 的用法详解

具体内容如下所示:$.ajax({type: httpMethod,cache:false,async:false,contentType: "application/json; charsetutf-8",dataType: "json",//返回值类型url: pathurl,data:jsonData,success: function(data){var resultData 返回码data.status…

在text html模版中写js,Rails3使用text/html内容类型而不是text/javascript呈现js.erb模板...

我正在使用3.0.0.beta3构建一个新的应用程序.我只是尝试将js.erb模板呈现给Ajax请求以执行以下操作(在publications_controller.rb中):def get_pubmed_dataentry Bio::PubMed.query(params[:pmid])# searches PubMed and get entrypublication Bio::MEDLINE.new(entry) # cre…

jq监听子元素被点击_vue开发app点击字母展示地区列表(兄弟组件之间联动)

下图这种地区搜索方式在很多app中都很常见,今天就使用vue框架中的 better-scroll 第三方包来实现页面滚动和点击侧边栏字母该字母开头的地区列表置顶功能。1、A子组件通过使用 this.$emit(事件名字,事件携带内容) 向外触发事件首先,在组件每个…

e-mobile帐号状态存在异常_一文掌握异常检测的实用方法 | 技术实践

作者 | Vegard Flovik译者 | Tianyu责编 | Jane出品 | AI科技大本营(ID: rgznai100)【导读】今天这篇文章会向大家介绍几个有关机器学习和统计分析的技术和应用,并展示如何使用这些方法解决一些具体的异常检测和状态监控实例。相信对一些开发…