随时随地技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)、QQ技术交流群(183198395)。

该Demo的意思就是通过该程序去调起手机上已安装了的百度地图android客户端来进行导航,其实,个人觉得该功能实际意义不大,因为如果手机上已安装了百度地图客户端,我们可以直接就使用它进行导航,该程序只是负责去调起百度地图客户端的导航功能,而本程序并不任何导航功能,不过了解一下怎么调用也好,代码如下:

Activity:

package com.home;import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;import com.baidu.mapapi.navi.BaiduMapAppNotSupportNaviException;
import com.baidu.mapapi.navi.BaiduMapNavigation;
import com.baidu.mapapi.navi.NaviPara;
import com.baidu.platform.comapi.basestruct.GeoPoint;public class NaviActivity extends Activity {// 天安门坐标double mLat1 = 39.915291;double mLon1 = 116.403857;// 百度大厦坐标double mLat2 = 40.056858;double mLon2 = 116.308194;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_navi_demo);TextView text = (TextView) findViewById(R.id.navi_info);text.setText(String.format("起点:(%f,%f)\n终点:(%f,%f)", mLat1, mLon1,mLat2, mLon2));}/*** 开始导航* * @param view*/public void startNavi(View view) {int lat = (int) (mLat1 * 1E6);int lon = (int) (mLon1 * 1E6);GeoPoint pt1 = new GeoPoint(lat, lon);lat = (int) (mLat2 * 1E6);lon = (int) (mLon2 * 1E6);GeoPoint pt2 = new GeoPoint(lat, lon);// 构建 导航参数NaviPara para = new NaviPara();para.startPoint = pt1;para.startName = "从这里开始";para.endPoint = pt2;para.endName = "到这里结束";try {BaiduMapNavigation.openBaiduMapNavi(para, this);} catch (BaiduMapAppNotSupportNaviException e) {e.printStackTrace();AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setMessage("您尚未安装百度地图app或app版本过低,点击确认安装?");builder.setTitle("提示");builder.setPositiveButton("确认", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();BaiduMapNavigation.GetLatestBaiduMapApp(NaviActivity.this);}});builder.setNegativeButton("取消", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}});builder.create().show();}}
}

布局XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@android:color/white"tools:context=".NaviDemo" ><TextViewandroid:id="@+id/navi_info"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerHorizontal="true"android:layout_centerVertical="true"android:layout_marginLeft="10dp"android:layout_marginRight="10dp"android:textColor="@android:color/black"android:textSize="16sp" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@+id/navi_info"android:layout_centerHorizontal="true"android:layout_marginTop="76dp"android:onClick="startNavi"android:text="开始导航" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_above="@+id/navi_info"android:layout_alignParentLeft="true"android:layout_marginBottom="57dp"android:layout_marginLeft="10dp"android:layout_marginRight="10dp"android:text="@string/navi_tip"android:textColor="@android:color/black"android:textSize="16sp" /></RelativeLayout>

String:navi_tip

<string name="navi_tip">本功能为调起百度地图Android客户端(V5.0及以上版本)的导航功能,用户必须已安装百度地图客户端,如果没有安装则提示用户下载安装百度地图客户端。</string>

附上图片效果:

调起百度地图客户端之导航功能相关推荐

  1. BaiduMap---百度地图官方Demo之调用百度地图(介绍如何调启百度地图实现自身业务功能)

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  2. 移动端浏览器调起百度地图、高德地图

    类似这样,点击两个按钮,分别调到各自的app客户端,没有客户端跳进移动端的web地图中. 百度地图和高德地图都提供了各自的地图调用的方法.百度api 高德api 百度的稍微麻烦一些,不过还好,我页面使 ...

  3. 调起百度地图/高德地图传经纬度地址进行导航

    Android开发中经常会集成地图,可以直接接入SDK进行开发,也可以调起地图传参数实现各种功能. 调起地图并传经纬度进行导航 //百度地图,log纬度,lat经度 Intent i1 = new I ...

  4. Android 调起百度地图和高德地图

    目录 前言 原理 示例代码 1.百度地图 2.高德地图 前言 最近由于业务需求需要拉起百度地图和高德地图进行导航, 原理 百度和高德都给开发者提供了接口,开发者只需要调用接口传递起始坐标就可以了. 示 ...

  5. 使用hbuilder的maps模块调起百度地图导航

    首先需要在百度地图开放平台,创建应用拿到appid,然后在hbuilder进行如下配置: hbuilder的manifest.json的配置如下: permissions下添加如下代码: " ...

  6. HTML实现百度地图定位及导航功能

    首先使用百度地图需要在百度地图平台申请一个密钥,网址:http://lbsyun.baidu.com/apiconsole/key 申请之后就可以直接引用了. 效果图: 代码实现(详细注释): < ...

  7. java模拟器2.3 百度地图_百度地图集成

    1.申请密钥(key) 第一步:打开API控制台,如下图所示: 第二步:点击创建应用,开始申请开发密钥,如下图: 第三步:填写应用名称.应用类型注意选择"iOS SDK".正确填写 ...

  8. ios 点生成线路 百度地图_iOS SDK | 百度地图API SDK

    注意事项 1.静态库中采用ObjectC++实现,因此需要您保证您工程中至少有一个.mm后缀的源文件(您可以将任意一个.m后缀的文件改名为.mm),或者在工程属性中指定编译方式,即在Xcode的Pro ...

  9. 百度地图检索以及路径规划

    代码地址如下: http://www.demodashi.com/demo/11030.html 一.准备工作 需要集成百度地图SDK 需要申请百度地图AppKey 本例子实现了POI检索以及详情检索 ...

  10. Android百度地图短链分享的使用

    首先,什么是短链分享?这里引用百度地图官方的说明: 什么是位置短地址分享 位置短地址分享(简称短串分享),是指用户检索得到的每一个地理位置都会对应一条短链接,通过短信.邮件或第三方分享组件,用户可以将 ...

最新文章

  1. 写了六个相同功能的函数之后,我学到了什么
  2. 考考你:输入数字,判定空格和回车
  3. DirectX11 driver类型浅析
  4. 国际财务报告准则 IFRS 与信息系统
  5. Redis事物分布式锁
  6. 外国人工作证延期、办理外国人居留许可延期
  7. 【AndroidStudio】关于SVN的相关配置简介
  8. P1314 聪明的质监员(前缀和+二分)
  9. 编程思考:对象生命周期的问题
  10. 深入Java中文问题及最优解决方法-下(转)
  11. JVM—引用计数和可达性分析算法(存活性判断)
  12. 计算机专业方向是什么意思,计算机专业就业方向是什么
  13. 中标麒麟linux系统安装打印机_安装国产Linux中标麒麟操作系统教程
  14. Nodejs 中文分词
  15. 【修真院PM小课堂】轮播图有几种表现形式,适合什么场景, 有哪些切换方式?
  16. 使用MagicIndicator+ViewPager2出现requestLayout() improperly called by
  17. Vue 动态加载public图片和图片预览例子
  18. 电子血压计设计c语言编程,电子血压计电路设计图精华
  19. Windows 10/11离线安装.NET Framework 3.5
  20. Grub 引导 WIM / ISO

热门文章

  1. 几个常用快速无损压缩算法性能比较
  2. 【无机纳米材料科研制图——Photoshop 0403】PS使用索套工具和魔棒工具框出选区
  3. Jupyter notebook系列(2):使用技巧(快捷键,多行输出,多光标操作,Unix系统命令的使用,查看输入输出历史,保存记录点与分享,抑制文末输出,图片输出,多环境kernel切换)
  4. 基于神经网络的系统辨识,神经网络的种类和特点
  5. 论文阅读:A machine learning approach to medical image classification:Detecting age-related macular dege
  6. 13电路交换、报文交换、分组交换原理
  7. 【HAVENT原创】nginx 配置
  8. 每日一记:2017.12.1
  9. xilinx低延时视频编解码方案
  10. 前端主流框架双向绑定实现原理简述