团队项目:安卓端用百度地图api定位显示跑道
因为安卓调用api对我来说是一个完全陌生的领域,我在经过很长时间终于弄出来了,这段时间还是很有成效的,我得到了历练。
第一步:注册成为百度开发者

在百度地图开放平台创建应用。地址http://lbsyun.baidu.com/index.php?title=首页

在电脑中找到sha1码来注册,寻找sha1码的方式,网上有教程,开始我没有用集成安卓的eclipse,用android studio。所以采用的是cmd命令台的方式查找的。
这张图片节选自网络
这是另一种方式:在eclipse中打开Windows-->Preferences-->Android-->Build

下面是在eclipse中创建的包名,也要写入应用中;就可以得到一个AK

这是我的开发应用AK:

再将安卓地图SDK下载

将SDK下载后找libs将其中的jar文件复制

如图在eclipse(之前用了android studio尝试了5次,闪退,报错,可能是我不太熟悉android studio的平台吧。我改用了集成安卓的eclipse进行开发。)中新建一个名字叫map的安卓项目。
在项目中新建一个libs项目,将jar文件粘贴到文件中。然后导入到项目中,左下方会有一个红色的小标记。

再同理将所有的含有so文件的文件夹(即armeabi)等,导入到libs中。
在AndroidMenifest.xml中添加权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 访问网络 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 获取WiFi状态 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<!-- 允许程序写入外部存储,如SD卡上写文件 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<!-- 读取电话状态 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<!-- 获取精确位置 GPS芯片接收卫星的定位信息,定位精度达10米以内 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- 通过WiFi或移动基站的方式获取用户错略的经纬度信息 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- 获取模拟定位信息 -->
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_GPS" />
增加ak
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="//AK码" />
在activity_main.xml中增加代码

<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />
在MainActivity中加入如下代码。

package com.example.map; import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.MapView; import android.os.Bundle;
import android.app.Activity;
import android.view.Menu; public class MainActivity extends Activity { MapView mMapView = null;// 用于显示地图的控件; @Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
SDKInitializer.initialize(getApplicationContext());// 初始化地图SDK,注意一定要写在 setContentView(R.layout.activity_main);代码前;
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();
} }
运行普通地图。结果为

这个是我上周六一直在家里调试之前的地图demo,在学校虚拟机显示的是方格图,我以为是因为电脑没有GPS才显示的,结果发现还有错误。这个是我调试了大半天,从早上到下午2点,才运行到手机上的.
andriod studio我前后尝试了5次,每一次都是未运行前没有错误,因为个人认为已经把显示错误的地方给改好。第一次运行报了300多个错误,第二次报错700多个,我实在没办法,没法调。所以换成了eclipse。
这是其中的一个studio截图

下一步应该是将定位SDK参照以上方式导入到libs中

以上是我自己做出来的。因为文件大小有33M,无法上传到coding.net。网盘下载地址链接:https://pan.baidu.com/s/1bYImiq
实话实说,做出基本地图后,我找到了一个demo,我自己把它调试了出来,有定位功能,效果很好。也是基于eclipse版本的,是一个挺好的开发版本。网盘下载地址链接:https://pan.baidu.com/s/1qYTgojE
这是我运行的定位效果图

这段时间我在图书馆借了一本安卓的书,看了谷歌地图在studio的使用。总之,动手做了,也学会了不少东西。
上了研究生学了这门课程,对我自己所研究的方向也有很大的用处,软件工程是一门很有用的课程,总之这个学期尤其在这门课程中我学会的很多。
团队项目:安卓端用百度地图api定位显示跑道的更多相关文章
- 百度地图API定位+显示位置
1. 先在需要嵌入地图的页面引入map.js <script src="http://api.map.baidu.com/api?v=2.0&ak=你的秘钥"> ...
- Android 百度地图API 定位 导航
看看这个利用百度地图定位并实现目的地导航的Demo. 首先看实现效果: 进 入后首先会得到当前位置,在地图上显示出来.在输入框中输入目的地后,就会在地 ...
- 百度地图api定位和导航简写
function locate() { // 百度地图API功能 var map = new BMap.Map("allmap"); // 创建Map实例 var point = ...
- 【web端】百度地图api
百度地图js加载 页面引入: 修改申请的密钥:<script type="text/javascript" src="http://api.map.baidu.co ...
- 通过百度地图API定位--第三方开源--百度地图(一)
1.把百度地图定位API(下载地址:http://lbsyun.baidu.com/sdk/download?selected=location)里面的libs复制到自己的项目libs里面 2.进行相 ...
- Android应用中使用百度地图API定位自己的位置(二)
官方文档:http://developer.baidu.com/map/sdkandev-6.htm#.E7.AE.80.E4.BB.8B3 百度地图SDK为开发人员们提供了例如以下类型的地图覆盖物: ...
- 关于百度地图api测距显示NaN的解决方案
因为随着百度地图的api的升级,测距的函数以及语句都发生的一定变化. 在调用api测距的时候通常我们使用的是语句map.getDistance(marker1,marker2); 但为什么这么简单的测 ...
- 百度地图API 定位一直4.9E-324
使用百度地图Android SDK 7.0定位坐标一直为4.9E-324,网上搜索了很多,但是均未解决我的问题,在此坐下解决记录,在设置权限中将应用添加信任即可!android 6.0 其他版本未测! ...
- html5移动端根据百度地图api获取详细地址
<script type="text/javascript" src="js/BMap.js" ></script> <scrip ...
随机推荐
- Scala学习之路 (九)Scala的上界和下届
一.泛型 1.泛型的介绍 泛型用于指定方法或类可以接受任意类型参数,参数在实际使用时才被确定,泛型可以有效地增强程序的适用性,使用泛型可以使得类或方法具有更强的通用性.泛型的典型应用场景是集合及集合中 ...
- ZOJ 4100 浙江省第16届大学生程序设计竞赛 A题 Vertices in the Pocket 线段树+并查集
正赛的时候完全没看这个题,事后winterzz告诉我他想出来的解法. 首先题意是给出n个点,m次操作. 操作有一种是连接两个点,另一种是求此时再为这个图连k条边,最少和最多能有几个联通块. 最少的求法 ...
- ORA-27125: unable to create shared memory segment的解决方法(转)
ORA-27125: unable to create shared memory segment的解决方法(转) # Kernel sysctl configuration file for Red ...
- android 7.0以上共享文件(解决调用系统照相和图片剪切出现的FileUriExposedException崩溃问题)
在android7.0开始试共享“file://”URI 将会导致引发 FileUriExposedException. 如果应用需要与其他应用共享私有文件,则应该使用 FileProvider, F ...
- pyspider爬取数据存入es--1.安装驱动
跟使用mysql一样,不安装es驱动的话,也会触发模块找不到的错误 ImportError: No module named elasticsearch 通过pip安装 pip install ela ...
- rpm -qa 查找文件
系统环境:centos6.6 yum install 安装的文件找不到安装路径,使用whereis和find -name都无效 rpm -qa | grep -i 关键字 查找 rpm -ql fi ...
- Apple 相关官方地址
https://developer.apple.com/download/more/ 证书制作地址: https://developer.apple.com/account/ios/profile/ ...
- java.lang.NoClassDefFoundError: org.androidpn.client.PersistentConnectionListener
在运行AndroidpnClient项目时出现了java.lang.NoClassDefFoundError: org.androidpn.client.PersistentConnectionLis ...
- (转)CloudStack 安装及使用过程中常见问题汇总
CloudStack 安装及使用过程中常见问题汇总 在做工程项目中对CloudStack 安装及使用过程中常见的几个问题及如何解决做一个总结. 1.Windows XP虚拟 ...
- Spring Data JPA、MyBatis还有Hibernate有什么区别
原文:https://www.imooc.com/article/19754?block_id=tuijian_wz Spring Data JPA.MyBatis还有Hibernate有什么区别 2 ...