团队项目:安卓端用百度地图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的使用。总之,动手做了,也学会了不少东西。

上了研究生学了这门课程,对我自己所研究的方向也有很大的用处,软件工程是一门很有用的课程,总之这个学期尤其在这门课程中我学会的很多。

时间: 2024-10-19 06:31:13

团队项目:安卓端用百度地图api定位显示跑道的相关文章

百度地图API定位+显示位置

1. 先在需要嵌入地图的页面引入map.js <script src="http://api.map.baidu.com/api?v=2.0&ak=你的秘钥"></script> 2. 地图定位并显示位置信息 // 百度地图API功能 var map = new BMap.Map("allmap"); var point = new BMap.Point(116.331398,39.897445); map.centerAndZoom

Android应用中使用百度地图API定位自己的位置(二)

官方文档:http://developer.baidu.com/map/sdkandev-6.htm#.E7.AE.80.E4.BB.8B3 百度地图SDK为开发者们提供了如下类型的地图覆盖物: 我的位置图层(MyLocationOverlay):用于显示用户当前位置的图层(支持自定义位置图标): Poi搜索结果图层(PoiOverlay):用于显示兴趣点搜索结果的图层: 路线图层(RouteOverlay):公交.步行和驾车线路图层,将公交.步行和驾车出行方案的路线及关键点显示在地图上(起.终

Android 百度地图API 定位 导航

看看这个利用百度地图定位并实现目的地导航的Demo.首先看实现效果:                          进 入后首先会得到当前位置,在地图上显示出来,在输入框中输入目的地后,就会在地图上出现最佳线路,我这里设置的是距离最小的驾车线路,另外还有公交线路. 步行线路,在代码中都有详细注释.另外,在控制台还输出了线路上每一个节点的信息以及起始位置和目的地的距离,信息显示的是在当前节点的导航信息.如下 图: 接下来就看如何实现了,首先,注册百度开发者账号,并进入百度地图API查看相关资料

百度地图API JavaScript显示人员分布信息

效果图贴下: js代码贴下: <body> <div id="div-map"></div></body></html><script type="text/javascript">$(function(){ // 百度地图API功能 var map = new BMap.Map("div-map"); map.centerAndZoom(new BMap.Point(106

调用百度地图API定位位置

以下代码是百度开发示例代码: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <style type="

【web端】百度地图api

百度地图js加载 页面引入: 修改申请的密钥:<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script> 下面的js跟css用于点击创建的地图标注弹窗信息框 <script type="text/javascript" src="http://api.map.baidu.com/l

通过百度地图API定位--第三方开源--百度地图(一)

1.把百度地图定位API(下载地址:http://lbsyun.baidu.com/sdk/download?selected=location)里面的libs复制到自己的项目libs里面 2.进行相关的配置,具体见官方文档:http://developer.baidu.com/map/index.php?title=android-locsdk/guide/v5-0 3.代码: 1 package com.zzw.baidumap; 2 3 import com.baidu.location.

关于百度地图api测距显示NaN的解决方案

因为随着百度地图的api的升级,测距的函数以及语句都发生的一定变化. 在调用api测距的时候通常我们使用的是语句map.getDistance(marker1,marker2); 但为什么这么简单的测距语句会显示NaN呢,也就是你的有一个点并不是所谓的坐标点.这个苦恼了我很久,因为百度知道上关于确定一个点的坐标都用的是老版本的语句,所以造成了这种后果.在这里要提醒大家,在百度地图api1.3之上的版本,获得marker坐标的语句是marker.getPosition(); 要通过比如marker

百度地图Api定位当前的位置

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus?"> <meta name="Author" content=""> <meta name="