android 开发之 百度地图的使用

好久没写博客了,最近遇到个新需求 需要用到百度地图的基础地图,定位,理论上应该还会用到鹰眼的功能吧.具体还很难说.我现在

刚动工,就从头开始记录吧.

首先是先申请一个百度地图api的key 流程官网很详细我就不多说了.(linux 系统下android studio 获取SHA1:我的博客  http://www.cnblogs.com/wobeinianqing/p/5594694.html  ,官网也有介绍)

申请完了key以后下载好相关包(在开发那个tab下有个相关下载)

选择好需要的功能以后就可以下载了:

完成后解压出来一般是一个jar文件合几个对应不同cpu架构的文件夹内部是一堆.os文件

创建一个android 工程在文件的(progect视图) app/libs 文件下考入jar文件 然后选中jar包 右键选择add as library...

然后在 app/src/main/ 目录下创建 jniLibs 文件夹 拷入上面的几个文件夹

完成后目录结构如下:

下面就可以开始正式进入编程模式了!

可以参考百度地图api hello baidumap 部分

首先是activity_main.xml (引入MapView)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="com.zfls.findme.MainActivity"
    tools:showIn="@layout/app_bar_main">

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

MainActivity.java

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();  

        mMapView.onDestroy();
    }
    @Override
    protected void onResume() {
        super.onResume();  

        mMapView.onResume();
        }
    @Override
    protected void onPause() {
        super.onPause();  

        mMapView.onPause();
        }
    }

这样就已经可实现了地图的展示功能了.

下面为app添加必要权限

<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" />

添加自己的key

 <meta-data
        android:name="com.baidu.lbsapi.API_KEY"
        android:value="你的 key" />  

整体效果:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.zfls.findme">

    <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
    <!-- 这个权限用于进行网络定位 -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <!-- 这个权限用于访问GPS定位 -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 -->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!-- 获取运营商信息,用于支持提供运营商信息相关的接口 -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_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.INTERNET" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <meta-data
            android:name="com.baidu.lbsapi.API_KEY"
            android:value="你的key" />
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

</manifest>

下面插上手机run 一下体验下自己的地图吧!

啥?为啥中间是北京?下节我们来换掉它!

时间: 2024-10-21 04:19:59

android 开发之 百度地图的使用的相关文章

Android开发之百度地图--环境搭建

这篇文章总结自极客学院张浩老师的android教学课程,在此对张浩老师和崔爽老师表示非常感谢. (一)基础知识 在申请百度地图开发密钥的时候需要用到数字签名证书的内容,所以这里先对此做一下介绍. (1)什么是数字签名证书(keystore) 数字签名是用来确立软件与软件作者之间的关系,Android系统要求所有的应用必须被证书进行签名之后才能进行安装. (2)为什么要对android应用进行数字签名 android安全机制限定 保证应用唯一性 利用基于签名的权限检查,你就可以在应用程序间以安全的

Android开发心得——百度地图sdk使用

本博文欢迎转载,转载请注明来自http://www.cnblogs.com/qinxianyuzou/ 如果各位看完这篇文章有任何疑问的欢迎交流,去新浪微博关注我Android小码农,共同探讨Android的应用开发的问题. 很久没有写过技术分享贴了,今天我们来讲一下百度地图sdk,顺便算是给自己马克一个. 事实上现在百度地图sdk已经很多东西都做好了,并不需要做很多工序,不过值得注意的是,现在百度把地图跟定位分开了,所以做一些定位之类的就需要两者结合. 百度地图sdk它本身的demo就是很好的

Android开发之百度地图的简单使用

越来越多的App运用到了定位,导航的这些功能,其实实现一个自己的百度地图也是非常的简单,这篇博客将会教你简单的实现一个百度地图.看一下效果图: 第一步:要使用百度地图,必须要有百度地图的Key,要获得这个Key,需要你提供两个信息:SHA1和应用的包名. *获取SHA1: 打开你的安卓ADB目录,一般在C盘的用户目录中以.android为文件名. 这个debug文件就是获取SHA1值的文件.接下来WIN+R,输入cmd.来到命令窗口界面:先输入cd .android来到这个文件夹中之后输入key

Xamarin.Android之使用百度地图起始篇

一.前言 如今跨平台开发层出不穷,而对于.NET而言时下最流行的当然还是Xamarin,不仅仅能够让我们在熟悉的Vs下利用C#开发,在对原生态类库的支持方面也有着非常的好支持,今天我们将会以百度地图类库来介绍如何实用第三方原生态类库. 二.正文 笔者采用的是3.0.0的版本,需要以下文件: baidumapapi_v3_0_0.jar libBaiduMapSDK_v3_0_0.so 1.新建项目 2.将baidumapapi_v3_0_0.jar赋值到Jars文件夹下 3.修改其属性 4.如果

Android笔记:百度地图与高德地图坐标转换问题

Android笔记:百度地图与高德地图坐标转换问题 安卓项目使用了百度地图的定位SDK,web端使用的也是百度地图, 后来发现界面显示百度地图不如高德效果好,web改用高德地图,原本的百度地图坐标是可以直接使用的,由于高德和百度地图的坐标系不一致 要如何转换呢. 补充了下坐标系知识后发现高德使用的坐标系是“gcj02”也就是大家所说的“火星坐标”, 百度使用的是“BD09”因为是百度所用大家习惯称之为“百度坐标”  ,如何将bd09转为gcj02呢,突然想到在百度的定位sdk里有这样一段说明(来

iOS开发之 - 百度地图合成包(真机 , 模拟器通用)

百度地图一个是真机包,一个是模拟器包.下面是把真机包和模拟器包 合成为一个.以便开发 所有的包合成方法均是一样. 打开终端: lipo -create /Users/quancheng/Library/Developer/Xcode/DerivedData/LIBRARY-apqimrbblggwrncbmevvddjbhmcy/Build/Products/Release-iphonesimulator/libLIBRARY.a /Users/quancheng/Library/Develop

Android Studio调用百度地图为何总是初始化失败?

============问题描述============ Android Studio调用百度地图为何总是初始化失败? 只要一调用,就黑屏,然后程序自动关闭?请问是什么原因,libs我也加.jar文件了 ============解决方案1============ 怎么加?只是加个包?没写其他了? ============解决方案2============ 布局写了么.. ============解决方案3============ 运行在真机?还是模拟器? ============解决方案4===

【智能手环APP for Android 】01 百度地图展示行动轨迹

1.效果图示 2.行动轨迹数据 <span style="font-size:18px;">[ { "LocationX":"121.42619", "LocationY":"31.186655" }, { "LocationX":"121.42694", "LocationY":"31.187215" }, { &

Android中调用百度地图

一.调用百度地图 --第一种方法 1.下载百度地图SDK SDK可以拆分下载,需要使用那一部分功能就下载相应包含的SDK,如下图 核心的的jar 和so包,放在工程中的libs目录下 2.申请key 注册百度账号申请key,格式如下:sha1值+";"+包名. 包名指的是AndroidManifest.xml 中定义的名称 ,并非工程包名 3.将百度地图加入工程 (1)在application中添加开发密钥 <application   <meta-data android