百度地图demo(Android Studio)

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

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

申请地址: 
http://lbsyun.baidu.com/apiconsole/key 
自己注册账号即可。

二、然后是创建应用

这时要做好两点准备: 
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
  • 27

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

    <meta-data
        android:name="com.baidu.lbsapi.API_KEY"
        android:value="My API Key" /> 

用签名申请的key,替换掉上面的 "My API Key" 即可。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

六、编译、运行

一切顺利的话,就能编译运行了。不过,由于我的gradle的版本与demo不一致,光更新个gradle就让我好一顿等待。 
然后,居然给我提示了一个错误:

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

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

然后,就出界面了,有图为证: 
这里写图片描述

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

我修改的是 MarkerClusterDemo.java ,只是修改了几个经纬度值,很好,地图中心成功从帝都转移了,还是很听话的嘛。 
再给张图: 
这里写图片描述

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

http://download.csdn.net/detail/lintax/9720235

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值