团队项目:安卓端用百度地图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 ...
随机推荐
- 【转】PHP中file_put_contents追加和换行
在PHP的一些应用中需要写日志或者记录一些信息,这样的话. 可以使用fopen(),fwrite()以及 fclose()这些进行操作. 也可以简单的使用file_get_contents()和fil ...
- 使用mysql乐观锁解决并发问题思路
本文摘自网络,仅供个人学习之用 案例说明: 银行两操作员同时操作同一账户.比如A.B操作员同时读取一余额为1000元的账户,A操作员为该账户增加100元,B操作员同时为该账户扣除50元,A先提交,B后 ...
- weex+vue2.x 踩坑实录(不定期更新)
执行 npm start 显示空白页面 这个是开始使用weex就出现的一个大坑,说实话对新手真的很不友好. 1.打开控制台显示:Cannot assign to read only property ...
- MetaMask/provider-engine-2-代码
package.json "main": "index.js", "scripts": { "test": " ...
- 剑指offer.找出数组中重复的数字
题目: 给定一个长度为 n 的整数数组 nums,数组中所有的数字都在 0∼n−1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重复的数 ...
- mysql做了主从,删除binlog日志
在主服务器操作: 1.查看当前主从库是用哪个binlog日志在做组从 show master status show slave status 2.查看主库的binlog日志 show master ...
- linux shell中'',""和``的区别
今天学习一个bash脚本,看到有一条:bin=`dirname "$0"` (dirname filename是输出该文件所在的目录,$0是该bash文件的文件名,在bash中一般 ...
- P1359 租用游艇
题目描述 长江游艇俱乐部在长江上设置了n 个游艇出租站1,2,…,n.游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇.游艇出租站i 到游艇出租站j 之间的租金为r(i,j),1& ...
- 在AspNetCore 中 使用Redis实现分布式缓存 (转载)
文章概念描述 分布式缓存描述:分布式缓存重点是在分布式上,相信大家接触过的分布式有很多中,像分布式开发,分布式部署,分布式锁.事物.系统 等有很多.使我们对分布式本身就有一个很明确的认识,分布式就是有 ...
- S5PV210 DDR2初始化 28个步骤总结
看了一套视频,感觉DDR这个部分将的非常细致也很好,于是把视频内容花了一个多星期作了总结. 这个视频就是不知道是谁讲的,做好事不留名啊---那位知道告诉我哈-- 平台:S5PV210 DDR: 兼容 ...