近期使用百度地图,研究了一下百度地图的demo。

一、首先是要申请百度地图开发账号

二、然后是创建应用

这时要做好两点准备:

1,确定好app的包名,例如我的就是”com.app.app_dev”;

2,准备好一个签名文件,例如我的就是 app_dev.keyStore,

先进入keystore文件所在目录,然后在命令行中执行命令,可以获取到sha1值:

keytool -list -v -keystore app_dev.keystore

当然,这些内容,也可以在后期来修改。

创建完成,就得到了一个key,这个东西是app中打开百度地图必须要用到的。

三、下载demo

到如下地址下载即可:

http://lbsyun.baidu.com/index.php?title=androidsdk/sdkandev-download

当然,顺便看看“使用说明”、开发指南,都会很有帮助的。

说句题外话:很多时候,我们遇到问题,大部分是我们没有用好api。为何没有用好?就是文档看得少了。

四、解压demo,导入工程

我下载的是 BaiduMap_AndroidSDK_v4.1.1_All.zip ,解压开,里面分3部分:

libs:库文件

BaiduMap_AndroidSDK_v4.1.1_Docs.zip:文档

BaiduMap_AndroidSDK_v4.1.1_Sample.zip:例程

这里我们先关注例程,继续解压,里面有两个demo,

一个是Eclipse的:BaiduMapsApiDemo,

一个是Android Studio的:BaiduMapsApiASDemo。

我们把BaiduMapsApiASDemo的整个目录,拷贝到自己的工作环境下。然后导入到android Studio中。

五、设置gradle编译参数

直接导入进来,还是不能用的。我们要把我们的包名、签名、key用起来。

考虑到签名与key的匹配问题,我将debug版本也设置为使用release的签名了,这样子,无论debug版还是release版,都使用同一个签名文件,也不会遇到debug版不能出现地图,而release版才能看见地图的问题了。

在Module的build.gradle中这样做:

signingConfigs {

// keystore

release {

storeFile file("app_dev.keystore") //指定了签名文件,要存放在Module目录下,即与Module的build.gradle同目录

storePassword "myPassword"

keyAlias "app_dev"

keyPassword "myPassword"

}

}

defaultConfig {

applicationId "com.app.app_dev" //指定了包名

minSdkVersion 9

targetSdkVersion 22

versionCode 1

versionName "1.0"

signingConfig signingConfigs.release

}

buildTypes {

debug {

//debug版本也使用release签名

signingConfig signingConfigs.release

}

release {`这里写代码片`

//使用release签名

signingConfig signingConfigs.release

}

}1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

271

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

另外,还有一个key,在清单文件中指定:

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

android:value="My API Key" />

用签名申请的key,替换掉上面的 "My API Key" 即可。

六、编译、运行

一切顺利的话,就能编译运行了。不过,由于我的gradle的版本与demo不一致,光更新个gradle就让我好一顿等待。

然后,居然给我提示了一个错误:

Error: This class should be public (com.baidu.mapapi.clusterutil.ui.RotationLayout) [Instantiatable]11

好吧,比较简单,并且可以忽略过去继续往下走。我还是改一下,就是加个public嘛,也许是提供demo的人疏忽了吧。

然后,就出界面了,有图为证:

七、稍做修改,看看改动效果

我修改的是 MarkerClusterDemo.Java ,只是修改了几个经纬度值,很好,地图中心成功从帝都转移了,还是很听话的嘛。

再给张图:

我的demo地址(直接导入即可使用哦):

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐