003 走上移动开发之安卓项目实战(百度地图:在地图范围内进行检索与驾车路线搜索)

本文主要是介绍003 走上移动开发之安卓项目实战(百度地图:在地图范围内进行检索与驾车路线搜索),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在上一篇文章中给大家带来了给地图如何添加标注物,这篇文章将要告诉大家如何在地图的范围内进行检索于对路线进行搜索

如果有什么不懂的请看上一篇帖子

002 走上移动开发之安卓项目实战(百度地图:给地图添加标注物)

如果还有什么看不懂的请您先从第一篇文章看起

001 走上移动开发之安卓项目实战(百度地图:建立百度地图开发环境)

还请大家注意在文章进行转载的时候麻烦注明出处

《http://blog.csdn.net/shuaiyinoo》谢谢


第一个:接下来正式开始给大家带来新的知识点,首先给大家带来的是如何在地图中进行检索

在进行地图检索的时候其实特别的简单,你只需要自定义一个 MySearchListener  ,去实现  MKSearchListener  这个有百度地图提供的API即可,当然里面还得实现类里面的方法

    //搜索对象的实现public class MySearchListener implements MKSearchListener{@Overridepublic void onGetAddrResult(MKAddrInfo arg0, int arg1) {}@Overridepublic void onGetBusDetailResult(MKBusLineResult arg0, int arg1) {}@Overridepublic void onGetDrivingRouteResult(MKDrivingRouteResult result, int type) {//对调用的搜索方法进行回调响应if(result == null){return;}RouteOverlay routeOverlay = new RouteOverlay(BaiDu_SuYiActivity.this, mapView);//里面的参赛之所以填0是应为我们只需要返回第一条线路routeOverlay.setData(result.getPlan(0).getRoute(0));mapView.getOverlays().add(routeOverlay);mapView.invalidate();}@Overridepublic void onGetPoiDetailSearchResult(int arg0, int arg1) {}@Overridepublic void onGetPoiResult(MKPoiResult result, int type, int iError) {//对调用的搜索方法进行回调响应if(result == null){return;}PoiOverlay poiOverlay = new PoiOverlay(BaiDu_SuYiActivity.this, mapView);poiOverlay.setData(result.getAllPoi());mapView.getOverlays().add(poiOverlay);mapView.invalidate();}@Overridepublic void onGetRGCShareUrlResult(String arg0, int arg1) {}@Overridepublic void onGetSuggestionResult(MKSuggestionResult arg0, int arg1) {}@Overridepublic void onGetTransitRouteResult(MKTransitRouteResult arg0, int arg1) {}@Overridepublic void onGetWalkingRouteResult(MKWalkingRouteResult arg0, int arg1) {}}
注意别忘了定义搜索对象,在类的最前面定义

	//定义搜索对象private MKSearch mkSearch ;


然后在 onCreate 方法中加入如下代码

比如我要以天安门为中心搜索周围5000M的厕所就可以用

mkSearch.poiSearchNearBy("厕所", new GeoPoint((int)(39.915*1E6),(int)(116.404*1E6)), 5000);
即可,这里我就不一一列举。


//v4.00//mapController.setZoom(14);//在地图范围内实现对物体的搜索//mkSearch = new MKSearch();//mkSearch.init(bMapManager, new MySearchListener());//这个方法表示根据中心点搜索周边的内容//mkSearch.poiSearchNearBy("厕所", new GeoPoint((int)(39.915*1E6),(int)(116.404*1E6)), 5000);

第二个:要给大家介绍的就是对驾车路线的搜索

第一步跟    《第一个:在地图范围内搜索一样》自定义一个 MySearchListener  ,去实现  MKSearchListener  这个有百度地图提供的API即可,当然里面还得实现类里面的方法

然后同样在 onCreate 方法中加入如下代码

//v5.00mapController.setZoom(14);//在地图范围内实现对物体的搜索mkSearch = new MKSearch();mkSearch.init(bMapManager, new MySearchListener());//给定第一个坐标start = new MKPlanNode();start.pt = new GeoPoint((int)(39.915*1E6),(int)(116.404*1E6));//给定第二个坐标end = new MKPlanNode();end.pt = new GeoPoint(40057031,116307852);//路线的优先顺序mkSearch.setDrivingPolicy(MKSearch.EBUS_TIME_FIRST);//调用路线的回调方法mkSearch.drivingSearch(null, start, null, end);

注意这里要在类的最上面定义两个点,起始点和结束点

	//定义一个起点private MKPlanNode start;//定义一个终点private MKPlanNode end;

这里要注意的有两个地方,第一个就是线路的优先顺序

在mkSearch.setDrivingPolicy()  这个方法中有多种类型可以供选择,百度地图提供的API中有如下选择对象-->官方文档地址


然后要注意的是  drivingSearch 方法中的参数要注意



最后:给大家说两句说说,其实我这写的只是皮毛中的皮毛,仅仅给那些跟我水平一样的人提供一些方便,相互的学习共同成长,还请那些大牛,大卡,们不要见笑

每天在睡觉的时候,希望大家明白,明天又是美好的一天哦......


这篇关于003 走上移动开发之安卓项目实战(百度地图:在地图范围内进行检索与驾车路线搜索)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/475799

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

hdu1240、hdu1253(三维搜索题)

1、从后往前输入,(x,y,z); 2、从下往上输入,(y , z, x); 3、从左往右输入,(z,x,y); hdu1240代码如下: #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#inc

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设