分类:C#、Android、VS2015、百度地图应用; 创建日期:2016-02-04
一、简介
调启百度地图是指:利用SDK接口,可直接在本地打开百度地图客户端或WebApp实现地图功能。 目前支持调启的功能有:POI周边检索、POI详情页面、步行线路规划、驾车线路规划、公交线路规划、驾车导航、步行导航、骑行导航(步行、骑行需百度地图App 8.6.6以上版本才支持)。
二、运行截图
简介:介绍如果利用简单接口调用,开启百度地图客户端实现复杂逻辑业务。
详述:
(1)调启百度地图导航(Native);
(2)调启百度地图POI周边检索;
(3)调启百度地图POI详情检索;
(4)调启百度地图步行线路规划;
(5)调启百度地图驾车线路规划;
(6)调启百度地图公交线路规划;
(7)调启百度地图步行导航;(需百度地图App 8.6.6以上版本支持)
(8)调启百度地图骑行导航(需百度地图App 8.6.6以上版本支持)
作为本章的最后一个例子,不再详细截取每个子功能的效果图了(由于模拟器没有安装百度地图客户端,无法看到效果图,只有在安装了百度地图客户端的真实手机上才能看到效果图),因此这里仅截取了在模拟器中运行时本章的主导航界面和本例子的导航界面。
三、设计步骤
1、添加demo25_open_baidumap.xml文件
在layout文件夹下添加该文件。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="?android:attr/listDivider" />
<ListView
android:id="@+id/listView_openBaiduMap"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
2、添加Demo25OpenBaiduMap.cs文件
在SrcSdkDemos文件夹下添加该文件,然后将代码改为下面的内容:
using System;
using System.Collections.Generic;
using Android.App;
using Android.OS;
using Android.Widget;
using Android.Views;
using Com.Baidu.Mapapi.Navi;
using Com.Baidu.Mapapi.Model;
using Com.Baidu.Mapapi.Utils;
using Com.Baidu.Mapapi.Utils.Poi;
using Com.Baidu.Mapapi.Utils.Route;
namespace BdMapV371Demos.SrcSdkDemos
{
/// <summary>
/// 此demo用来展示如何在地图绘制的每帧中再额外绘制一些用户自己的内容
/// </summary>
[Activity(Label = "@string/demo_name_open_baidumap")]
public class Demo25OpenBaiduMap : Activity
{
// 天安门坐标
double mLat1 = 39.915291;
double mLon1 = 116.403857;
// 百度大厦坐标
double mLat2 = 40.056858;
double mLon2 = 116.308194;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.demo25_open_baidumap);
ListView mListView = FindViewById<ListView>(Resource.Id.listView_openBaiduMap);
mListView.Adapter = new OpenBaiduMapListAdapter(this, GetData());
mListView.ItemClick += (s, e) =>
{
switch (e.Position)
{
case 0: startNavi(); break;
case 1: startPoiNearbySearch(); break;
case 2: startPoiDetails(); break;
case 3: startRoutePlanWalking(); break;
case 4: startRoutePlanDriving(); break;
case 5: startRoutePlanTransit(); break;
case 6: startWalkingNavi(); break;
case 7: startBikingNavi(); break;
default: break;
}
};
}
private List<string> GetData()
{
List<string> data = new List<string>()
{
"启动百度地图导航(Native)",
"启动百度地图Poi周边检索",
"启动百度地图Poi详情页面",
"启动百度地图步行路线规划",
"启动百度地图驾车路线规划",
"启动百度地图公交路线规划",
"启动百度地图步行导航",
"启动百度地图骑行导航"
};
return data;
}
/// <summary>启动百度地图导航(Native)</summary>
public void startNavi()
{
LatLng pt1 = new Lat