Android百度地图的集成(一、基础地图)

前言:
从山东回来北京很久了,找到新的工作也有一个多月,以前从来没有写过博客,也从没想过写一些东西,在山东的时候时间比较忙,经常加班,个人性格也比较懒,一直在项目经理和组长的照顾下成长,新的公司是个物联网公司,做智能消防的,目前只有我一个人做Android方面,没有需求,没有接口文档,没有项目经理,只是跟我说了大概功能,所以我打算一点点研究,最近一段时间把大概框架敲完了,没有什么事做了,感觉脑子不运动就会生锈,最近一直看在看别人的博客,今天也体验下,写的不好还请见谅,闲话不多说了,开始研究百度地图如何使用了~

查看官网

首先我们需要来到百度地图SDK的官网:http://lbsyun.baidu.com/ 并且注册一个账号
找到
开发—Android开发—Android地图SDK

申请密钥

登陆百度账号右上角进入API控制中心

这里写图片描述

选择创建应用

这里写图片描述

这里有必要介绍下一下如何获取SHA1,对于一些新(wo)的开发者,这个是APK的加密后生成的值,百度地图为了保证AppKey不会有重复,采用了SHA1值+包名后=AppKey 如何获取SHA1值呢?

获取测试的SHA1值

百度地图的开发文档上有几种方式, 但是大部分讲的是签了名的SHA1查看方法,但是如果你只是做个Demo,并没有加密,那么你就需要将你的APK改为.zip格式,如果你没有配置keytools的环境变量,将META-INF文件夹复制到你的java/jdk/bin目录下 并且shift+右键 在bin目录下的命令行里执行 ,如果你配置了直接运行命令行就好
keytool -printcert -file META-INF/CERT.RSA
后,你就可以看到你的SHA1了
这里写图片描述
这时候你就可以拥有你的AppKey了

注:如果你的项目没有签名的话sha1的是与你的电脑有关,不同电脑的sha1值不同。你的项目如果签名了,不同签名的sha1不同。

下载jar包和配置环境

在相关下载页面下载你所需要的,有一个事例Demo包括了很多功能,也有纯jar包的,如果只是jar包下载后解压是一个libs目录,按照eclipse中的libs的格式一一对应的复制进去,接下来你需要在清单文件里做一些操作`

<application>  
    <meta-data  
        android:name="com.baidu.lbsapi.API_KEY"  
        android:value="包名+sha1生成的" />  
</application>`

当然还有权限

<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.WAKE_LOCK"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS" />

在你所需要的界面使用地图的布局控件

<com.baidu.mapapi.map.MapView  
    android:id="@+id/bmapView"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
    android:clickable="true" />

你必须在你的代程序创建时初始化SDK,否则会报错
当然你最好在Application中初始化,毕竟你后面还会需要定位以及其他功能

public class MainActivity extends Activity {  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);   
        //在使用SDK各组件之前初始化context信息,传入ApplicationContext  
        //注意该方法要再setContentView方法之前实现  
        SDKInitializer.initialize(getApplicationContext());  
        setContentView(R.layout.activity_main);  
    }  
}

最后一步就是开启你的地图界面了

public class MainActivity extends Activity {  
    MapView mMapView = null;  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);   
        //在使用SDK各组件之前初始化context信息,传入ApplicationContext  
        //注意该方法要再setContentView方法之前实现  
        SDKInitializer.initialize(getApplicationContext());  
        setContentView(R.layout.activity_main);  
        //获取地图控件引用  
        mMapView = (MapView) findViewById(R.id.bmapView);  
    }  
    @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();  
        }  
    }

这个时候你就可以运行你的项目并且看到天安门了~

第一次写博客,很基础,也很简单,作为一个程序员,大部分代码都是复制粘贴或者使用别人的东西,以前只是找到了需求融入到了我的代码里就算完成了,但是回想一下其实自己并没有学到什么,这样是无法进步的,所以不论工作几年,把自己所遇到的问题和技术记录下来,日后回顾下都会显得很简单,并且和别人分享研究的喜悦,敲起代码来 也不会显得那么枯燥了~

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了在Android Studio中集成百度地图,您需要遵循以下步骤: 1.在百度地图开放平台上注册并创建一个应用程序,以获取必要的API密钥。 2.在您的Android Studio项目中的build.gradle文件中添加以下依赖项: ```gradle implementation 'com.baidu.android:map-sdk:5.1.0' ``` 3.在AndroidManifest.xml文件中添加以下权限: ```xml <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> ``` 4.在AndroidManifest.xml文件中添加以下元素: ```xml <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="your_api_key" /> ``` 其中,your_api_key是您在百度地图开放平台上注册应用程序时获得的API密钥。 5.在您的布局文件中添加MapView元素: ```xml <com.baidu.mapapi.map.MapView android:id="@+id/bmapView" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 6.在您的Activity中添加以下代码: ```java public class MainActivity extends AppCompatActivity { private MapView mMapView = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 获取地图控件引用 mMapView = (MapView) findViewById(R.id.bmapView); mMapView.onCreate(savedInstanceState); // 初始化地图 BaiduMap baiduMap = mMapView.getMap(); MapStatusUpdate msu = MapStatusUpdateFactory.zoomTo(14.0f); baiduMap.setMapStatus(msu); } @Override protected void onResume() { super.onResume(); mMapView.onResume(); } @Override protected void onPause() { super.onPause(); mMapView.onPause(); } @Override protected void onDestroy() { super.onDestroy(); mMapView.onDestroy(); } } ``` 这将在您的应用程序中显示一个百度地图

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值