Android之旅十八 百度地图环境搭建
在android中使用百度地图,我们能够先看看百度地图对应的SDK信息:http://developer.baidu.com/map/index.php?
title=androidsdk,它里面基本上有关于android中的全部配置、api调用等操作方法。以下我们来看看百度地图在android中环境的搭建步骤:我们这里使用的百度地图版本号为
Android SDK v3.1.1。版本号不同,里面的API可能不一样,所以希望大家可以注意。。
一、申请密钥。不管是开发谷歌地图还是百度地图我们都须要申请密钥,当然申请之前我们还得注冊成为百度的用户,否则是申请不到的,密钥的android版申请步骤:http://developer.baidu.com/map/index.php?
title=androidsdk/guide/key,注意里面配置的安全码不能随便填写,否则会出现看不到地图等一系列的问题。安全码必须是全码的组成规则为:Android签名证书的sha1值+“;”+packagename(即:数字签名+分号+包名),关于sha1签名证书的值的获取,里面有对应的操作方法,填写完对应信息后,就会出现一个对应的24位的ak,就是我们的密钥,我们得把它记录下来;
二、下载android版百度地图SDK:http://developer.baidu.com/map/index.php?title=androidsdk/sdkandev-download,建议下载所有,里面包括开发包、文档和演示样例,也能够在我的博客资源中进行下载:http://download.csdn.net/detail/harderxin/8002031;
三、新建androidproject项目。将下载的libs包文件拷入到项目中,当中baidumapapi_v3_1_1.jar表示开发百度地图必须使用的包,而liblocSDK3.so和locSDK_3.1.jar为百度定位SDK所使用资源,开发人员可依据实际需求自行加入。将其jar包引入到项目project中,拷贝后的项目包例如以下图:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSGFyZGVyWGlu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
四、打开我们项目的AndroidMainifest.xml文件,在Application以下将我们在上面得到的密钥放入到meta信息中:
<application>
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="开发人员 key" />
</application>
在AndroidMainifest.xml中加入百度相关权限:
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
加入对屏幕的支持:
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="false"
android:resizeable="true"
android:smallScreens="true" />
五、在main.xml中加入百度地图显示控件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > <com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" /> </LinearLayout>
六、在MainActivity中引入百度地图API。编写相关代码:
package com.xin.activity; import android.app.Activity;
import android.os.Bundle; import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.MapView; public class MainActivity extends Activity {
private MapView mMapView = null;
private BaiduMap baiduMap; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 在使用SDK各组件之前初始化context信息,传入ApplicationContext
// 注意该方法要再setContentView方法之前实现
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.main);
// 获取地图控件引用
mMapView = (MapView) findViewById(R.id.bmapView);
baiduMap=mMapView.getMap();
//设置地图类型为普通地图
//baiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);
//设置地图类型为卫星地图
//baiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);
//开启交通图
baiduMap.setTrafficEnabled(true);
} @Override
protected void onDestroy() {
super.onDestroy();
// 在activity运行onDestroy时运行mMapView.onDestroy(),实现地图生命周期管理
mMapView.onDestroy();
} @Override
protected void onResume() {
super.onResume();
// 在activity运行onResume时运行mMapView. onResume (),实现地图生命周期管理
mMapView.onResume();
} @Override
protected void onPause() {
super.onPause();
// 在activity运行onPause时运行mMapView. onPause ()。实现地图生命周期管理
mMapView.onPause();
}
<span style="font-size:18px;">}</span>
七、运行项目,在我们的模拟器上出现地图显示,即环境搭建成功。!
我在代码中控制了显示交通地图:baiduMap.setTrafficEnabled(true);所以会出现这种效果。百度里面提供了非常多api供我们參考使用,比如标注、覆盖物、公交查询等信息,我们能够依据自己的须要来编写相关代码。这里的环境搭建仅仅起到了一个抛砖引玉的作用。以后的拓展,还得依据项目需求自己去设计实现:
百度在线API:http://wiki.lbsyun.baidu.com/cms/androidsdk/doc/v3_1_1/
百度基础地图:http://developer.baidu.com/map/index.php?title=androidsdk/guide/basicmap
Android之旅十八 百度地图环境搭建的更多相关文章
- Android开发之百度地图--环境搭建
这篇文章总结自极客学院张浩老师的android教学课程,在此对张浩老师和崔爽老师表示非常感谢. (一)基础知识 在申请百度地图开发密钥的时候需要用到数字签名证书的内容,所以这里先对此做一下介绍. (1 ...
- spring boot / cloud (十八) 使用docker快速搭建本地环境
spring boot / cloud (十八) 使用docker快速搭建本地环境 在平时的开发中工作中,环境的搭建其实一直都是一个很麻烦的事情 特别是现在,系统越来越复杂,所需要连接的一些中间件也越 ...
- Android为TV端助力 转载:Android绘图Canvas十八般武器之Shader详解及实战篇(上)
前言 Android中绘图离不开的就是Canvas了,Canvas是一个庞大的知识体系,有Java层的,也有jni层深入到Framework.Canvas有许多的知识内容,构建了一个武器库一般,所谓十 ...
- Android为TV端助力 转载:Android绘图Canvas十八般武器之Shader详解及实战篇(下)
LinearGradient 线性渐变渲染器 LinearGradient中文翻译过来就是线性渐变的意思.线性渐变通俗来讲就是给起点设置一个颜色值如#faf84d,终点设置一个颜色值如#CC423C, ...
- Android Studio 项目中集成百度地图SDK报Native method not found: com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create:()I错误
Android Studio 项目中集成百度地图SDK报以下错误: java.lang.UnsatisfiedLinkError: Native method not found: com.baidu ...
- Android基础新手教程——1.2 开发环境搭建
Android基础新手教程--1.2 开发环境搭建 标签: Android基础新手教程 如今主流的Android开发环境有: ①Eclipse + ADT + SDK ②Android Studio ...
- IOS7学习之路十(百度地图API环境搭建)
百度地图官网的API开发教程链接:点击打开链接 我按照他的教程做的总出现"Apple Mach-O linker command failed with exit code 1"的 ...
- 【详细教程】论android studio中如何申请百度地图新版Key中SHA1值
一.写在前面 现在越来越多的API接口要求都要求提供我们的项目SHA1值,开发版目前还要求不高,但是发布版是必定要求的.而目前定位在各大APP中也较为常见,当下主流的百度地图和高德地图都在申请的时候会 ...
- Android学习笔记之使用百度地图实现地图控制
PS:吾之荣耀,离别已久. 学习内容: 1.实现地图控制. 2.百度地图开发的一些细节 1.实现地图控制: 这一篇主要写在百度地图上添加一些其他控制.上一篇书写了覆盖物的添加,地理编码和反 ...
随机推荐
- c - 给分数分级别
/* 题目: 学习成绩>=90 分的同学用 A 表示, 80-89 分之间的用 B 表示,70-79 分的用 C 表示, 60-69 分用 D表示,小于60分用E表示. 分析: 使用swith. ...
- office2010删除多余空行
选择 ctrl+H,弹出 "查找和替换"对话框,在"查找内容"输入"^p^p",并在"替换为"输入"^p&qu ...
- 实现SQLServer数据库转成MYSQL数据库
1.首先需要下载安装工具Navicat Premium. 2.注意:将数据库移至本地SQLServer,我试过直接在局域网上其他SQLServer服务器上想转到本地Mysql好像有问题,想将远程数据库 ...
- java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 出现错误
后台报出如下错误: Caused by: java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01000: 超出打开游标的最大数 ORA-00 ...
- Swift2.0异常处理
// 在抛出异常之前,我们需要在函数或方法的返回箭头 -> 前使用 throws 来标明将会抛出异常 func myMethodRetrunString() throws -> Strin ...
- 武汉科技大学ACM:1003: 看美女
Problem Description “排排站,赏美女……” YJ师兄在今年牡丹江赛区人品爆发,怒摘银奖,心情倍好,现组织大家去黄家湖边站成一排看美女 ^.^ N个人站成一排.不巧,美女们只在队伍的 ...
- php页面显示空白
问题: 本人php初学者,网站下载wamp5,安装好之后,测试环境是否正常,用phpinfo(),但是页面不能正确显示. 1.显示连接错误 2.显示空白页 解决方法: 一.显示连接错误 步骤: 1.p ...
- 转载:svn clean up 失败解决方法
转载网址:http://www.tuicool.com/articles/biy6na 今天svn遇到一个头疼的问题,最开始更新的时候失败了,因为有文件被锁住了.按照以往的操作,我对父目录进行clea ...
- PHP面向对象多态性的应用
多态是面向对象的三大特性中除封装和继承之外的另一重要特性.它展现了动态绑定的功能,也称为“同名异式”.多态的功能可让软件在开发和维护时,达到充分的延伸性.事实上,多态最直接的定义是让具有继承关系的不同 ...
- 转: pthread_create()
pthread_create函数 原型:int pthread_create((pthread_t *thread, pthread_attr_t *attr, void *(*start ...