<?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" ><TextViewandroid:id="@+id/open_Info"android:layout_width="fill_parent"android:layout_height="wrap_content"android:textSize="16sp" ></TextView><Viewandroid:layout_width="fill_parent"android:layout_height="1dip"android:background="?android:attr/listDivider" /><ListViewandroid:id="@+id/listView_openBaiduMap"android:layout_width="fill_parent"android:layout_height="wrap_content" /></LinearLayout>

package baidumapsdk.demo;import java.util.ArrayList;
import java.util.List;import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;import com.baidu.mapapi.VersionInfo;
import com.baidu.mapapi.model.LatLng;
import com.baidu.mapapi.navi.BaiduMapAppNotSupportNaviException;
import com.baidu.mapapi.navi.BaiduMapNavigation;
import com.baidu.mapapi.navi.NaviParaOption;
import com.baidu.mapapi.utils.OpenClientUtil;
import com.baidu.mapapi.utils.poi.BaiduMapPoiSearch;
import com.baidu.mapapi.utils.poi.PoiParaOption;
import com.baidu.mapapi.utils.route.BaiduMapRoutePlan;
import com.baidu.mapapi.utils.route.RouteParaOption;
import com.baidu.mapapi.utils.route.RouteParaOption.EBusStrategyType;
/*** 介绍如何调启百度地图实现自身业务功能* */
public class OpenBaiduMap 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_open_baidumap);TextView text = (TextView) findViewById(R.id.open_Info);text.setTextColor(Color.YELLOW);text.setText("当手机没有安装百度地图客户端或版本过低时,默认调起百度地图webApp");ListView mListView = (ListView) findViewById(R.id.listView_openBaiduMap);mListView.setAdapter(new OpenBaiduMapListAdapter(getData()));mListView.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view,int position, long id) {switch (position) {case 0://启动百度地图导航(native)startNavi();break;case 1://启动百度地图导航(Web)startWebNavi();break;case 2://启动百度地图Poi周边检索startPoiNearbySearch();break;case 3://启动百度地图Poi详情页面startPoiDetails();break;case 4://启动百度地图步行路线规划startRoutePlanWalking();break;case 5://启动百度地图驾车路线规划startRoutePlanDriving();break;case 6://启动百度地图公交路线规划startRoutePlanTransit();break;default:break;}}});}private List<String> getData(){      List<String> data = new ArrayList<String>();data.add("启动百度地图导航(Native)");data.add("启动百度地图导航(Web)");data.add("启动百度地图Poi周边检索");data.add("启动百度地图Poi详情页面");data.add("启动百度地图步行路线规划");data.add("启动百度地图驾车路线规划");data.add("启动百度地图公交路线规划");return data;}/*** 启动百度地图导航(Native)* */public void startNavi() {LatLng pt1 = new LatLng(mLat1, mLon1);LatLng pt2 = new LatLng(mLat2, mLon2);// 构建导航参数/*** endName(java.lang.String endName):导航终点名称* endPoint(LatLng endPoint):导航终点, 百度经纬度坐标* startName(java.lang.String startName):导航起点名称* startPoint(LatLng startPoint):导航起点, 百度经纬度坐标* */NaviParaOption para = new NaviParaOption().startPoint(pt1).endPoint(pt2).startName("天安门").endName("百度大厦");try {/*** openBaiduMapNavi(NaviParaOption para, Context context)* 调起百度地图导航页面* */BaiduMapNavigation.openBaiduMapNavi(para, this);} catch (BaiduMapAppNotSupportNaviException e) {e.printStackTrace();showDialog();}}/*** 启动百度地图导航(Web)*/public void startWebNavi() {LatLng pt1 = new LatLng(mLat1, mLon1);LatLng pt2 = new LatLng(mLat2, mLon2);// 构建 导航参数NaviParaOption para = new NaviParaOption().startPoint(pt1).endPoint(pt2);/*** openWebBaiduMapNavi(NaviParaOption para, Context context)* 调起百度地图导航页面* */BaiduMapNavigation.openWebBaiduMapNavi(para, this);}/*** 启动百度地图Poi周边检索* */public void startPoiNearbySearch() {LatLng pt_center = new LatLng(mLat1, mLon1); // 天安门/*** poi检索参数*     key(java.lang.String key):poi检索 key*      center(LatLng center):poi检索中心点*      radius(int radius):poi检索半径* */PoiParaOption para = new PoiParaOption().key("天安门").center(pt_center).radius(2000);try {/*** openBaiduMapPoiNearbySearch(PoiParaOption para, Context context)* 调起百度地图poi周边检索页面* */BaiduMapPoiSearch.openBaiduMapPoiNearbySearch(para, this);} catch (Exception e) {e.printStackTrace();showDialog();}}/*** 启动百度地图Poi详情页面* */public void startPoiDetails() {/*** uid(java.lang.String uid)* poi详情uid* */PoiParaOption para = new PoiParaOption().uid("65e1ee886c885190f60e77ff");// 天安门try {/*** public static void openBaiduMapPoiDetialsPage(PoiParaOption para,Context context)* 调起百度地图poi详情页面* @param     * para - poi检索参数,uid不能为空。* context - 启动poi详情页面的Activity.* * */BaiduMapPoiSearch.openBaiduMapPoiDetialsPage(para, this);} catch (Exception e) {e.printStackTrace();showDialog();}}/*** 启动百度地图步行路线规划* */public void startRoutePlanWalking() {LatLng pt_start = new LatLng(34.264642646862, 108.95108518068);LatLng pt_end = new LatLng(mLat2, mLon2);// 构建 route搜索参数RouteParaOption para = new RouteParaOption().startPoint(pt_start)//路线检索起点
//          .startName("天安门")
//          .endPoint(pt_end);.endName("大雁塔")//路线检索终点名称.cityName("西安");//城市名称//     RouteParaOption para = new RouteParaOption()
//      .startName("天安门").endName("百度大厦");//        RouteParaOption para = new RouteParaOption()
//      .startPoint(pt_start).endPoint(pt_end);try {/*** openBaiduMapWalkingRout(RouteParaOption para, Context context):* 调起百度地图步行路线检索页面* */BaiduMapRoutePlan.openBaiduMapWalkingRout(para, this);} catch (Exception e) {e.printStackTrace();showDialog();}}/*** 启动百度地图驾车路线规划* */public void startRoutePlanDriving() {LatLng pt_start = new LatLng(34.264642646862, 108.95108518068);LatLng pt_end = new LatLng(mLat2, mLon2);// 构建 route搜索参数RouteParaOption para = new RouteParaOption().startPoint(pt_start)
//          .startName("天安门")
//          .endPoint(pt_end);.endName("大雁塔").cityName("西安");//     RouteParaOption para = new RouteParaOption()
//              .startName("天安门").endName("百度大厦");//        RouteParaOption para = new RouteParaOption()
//      .startPoint(pt_start).endPoint(pt_end);try {/***openBaiduMapDrivingRoute(RouteParaOption para, Context context)*调起百度地图驾车路线检索页面* */BaiduMapRoutePlan.openBaiduMapDrivingRoute(para, this);   } catch (Exception e) {e.printStackTrace();showDialog();}}/*** 启动百度地图公交路线规划* */public void startRoutePlanTransit() {LatLng pt_start = new LatLng(mLat1, mLon1);LatLng pt_end = new LatLng(mLat2, mLon2);// 构建 route搜索参数/*** busStrategyType(RouteParaOption.EBusStrategyType busStrategyType)* 路线检索策略枚举(公交必选) * 时间短 bus_time_first * 少换乘 bus_transfer_little * 少步行 bus_walk_little * 不坐地铁 bus_no_subway * 推荐路 bus_recommend_way* */RouteParaOption para = new RouteParaOption()
//          .startPoint(pt_start).startName("天安门").endPoint(pt_end)
//          .endName("百度大厦").busStrategyType(EBusStrategyType.bus_recommend_way);//       RouteParaOption para = new RouteParaOption()
//              .startName("天安门").endName("百度大厦").busStrategyType(EBusStrategyType.bus_recommend_way);//        RouteParaOption para = new RouteParaOption()
//      .startPoint(pt_start).endPoint(pt_end).busStrategyType(EBusStrategyType.bus_recommend_way);try {/***openBaiduMapTransitRoute(RouteParaOption para, Context context)*调起百度地图公交路线检索页面* */BaiduMapRoutePlan.openBaiduMapTransitRoute(para, this);} catch (Exception e) {e.printStackTrace();showDialog();}}@Overrideprotected void onDestroy() {super.onDestroy();BaiduMapRoutePlan.finish(this);BaiduMapPoiSearch.finish(this);}/*** 提示未安装百度地图app或app版本过低* */public void showDialog() {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();/*** OpenClientUtil:调起百度客户端工具类* * public static int getBaiduMapVersion(Context context)* 获取百度地图客户端版本号* 返回0代表没有安装百度地图客户端* */OpenClientUtil.getLatestBaiduMapApp(OpenBaiduMap.this);}});builder.setNegativeButton("取消", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}});builder.create().show();}private class OpenBaiduMapListAdapter extends BaseAdapter {List<String> list;public OpenBaiduMapListAdapter(List<String> list) {super();this.list = list;}@Overridepublic View getView(int index, View convertView, ViewGroup parent) {convertView = View.inflate(OpenBaiduMap.this,R.layout.demo_info_item, null);TextView title = (TextView) convertView.findViewById(R.id.title);TextView desc = (TextView) convertView.findViewById(R.id.desc);desc.setVisibility(View.INVISIBLE);title.setText(list.get(index));return convertView;}@Overridepublic int getCount() {return list.size();}@Overridepublic Object getItem(int index) {return list.get(index);}@Overridepublic long getItemId(int id) {return id;}}
}

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

  1. BaiduMap---百度地图官方Demo之离线地图功能(介绍如何下载和使用离线地图)

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

  2. 百度定位官方Demo

    百度定位官方Demo 本工程主要是对百度定位官方demo的一些配置. 下载Demo代码 地址:http://lbsyun.baidu.com/index.php?title=android-locsd ...

  3. android开发游记:APP内部调启百度、高德、web地图导航

    版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 使用方法 下面解释主要代码 一些地图相关的app一般都需要集成导航的功能方便用户使用,但实际上我们很多时候仅仅只是希望提供这样一 ...

  4. BaiduMap---百度地图官方Demo之OpenGL绘制功能(介绍如何使用OpenGL绘制在地图中进行绘制)

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

  5. BaiduMap---百度地图官方Demo之图层展示(展示普通图,卫星图,交通流量图及百度城市热力图)

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

  6. BaiduMap---百度地图官方Demo之公交线路查询功能(介绍查询公交线路功能)

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

  7. BaiduMap---百度地图官方Demo之路径规划功能(介绍公交,驾车和步行三种线路规划方法和自设路线方法)

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

  8. 百度文字识别官方Demo

    百度OCR 官方Demo 百度文字识别官网 OCR Android SDK 开发者文档 百度sdk下载 OCR: Optical Character Recognition 光学字符识别 一. 管理控 ...

  9. 开发 React Native APP —— 从改造官方Demo开始(二)

    经过第一部分开发 React Native APP -- 从改造官方 Demo 开始(一)介绍,App 框架基本构建完成,这部分主要讨论 UI/交互.App 发布前的准备工作及如何发布,具体内容包括: ...

最新文章

  1. Java项目:贪吃蛇游戏(java+swing)
  2. jquery easyui 操作总结
  3. hdu4848 DFS 暴搜+ 强剪枝
  4. nebual的图数据结构
  5. gin-vue-admin菜单配置教程:父子菜单
  6. android扫码支付宝ofo,六大共享单车接入支付宝 ofo等免押金扫一扫可骑走
  7. vue实现首屏加载等待动画 避免首次加载白屏尴尬
  8. spring boot报FileSizeLimitExceededException异常的解决方法
  9. PyTorch 1.0 中文官方教程:神经网络
  10. 64位电脑mysql_Windows 64位操作系统下安装和配置MySQL
  11. 使用 RemObjects SDK 建立 WebService 应用
  12. Android开发技巧:给Button的点击上色
  13. 习题总结(一)——硬链接,locate,chmod,家目录
  14. 2055D打印机打印报错
  15. 北京明年拟新增3万个幼儿园学位 并再筹建6万套政策性产权房
  16. python爬虫方向_爬虫实战(三) 用Python爬取拉勾网
  17. Machine Learning Practical 爱宝课程记录week1
  18. Django - Celery使用及介绍
  19. 【LOJ2867】「IOI2018」高速公路收费
  20. linux查看tomcat在,在陌生Linux环境查看Tomcat服务的方法

热门文章

  1. 程序员年终总结----git合入代码行数统计
  2. Android 11 Recent按键流程
  3. ProcessOn-如何统一图形大小
  4. 用cookie做前端页面的记住密码
  5. java实现actionlistener_在Java中,假设我们有一个实现ActionListener接口的类,以下方法中,()能够为一个Button类注册这个类...
  6. 企业如何通过新闻营销打开品牌知名度
  7. 《给忙碌者的天体物理学》简单的概念地图
  8. 前端网络基础-网络分层模型
  9. 服装设计研发办公应用APP
  10. 构建高质量充电基础设施,快电精细运营提升充电保障能力