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

相关文章

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

golang内存对齐的项目实践

《golang内存对齐的项目实践》本文主要介绍了golang内存对齐的项目实践,内存对齐不仅有助于提高内存访问效率,还确保了与硬件接口的兼容性,是Go语言编程中不可忽视的重要优化手段,下面就来介绍一下... 目录一、结构体中的字段顺序与内存对齐二、内存对齐的原理与规则三、调整结构体字段顺序优化内存对齐四、内

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

Python利用PIL进行图片压缩

《Python利用PIL进行图片压缩》有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所以本文为大家介绍了Python中图片压缩的方法,需要的可以参考下... 有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所有可以对文件中的图

配置springboot项目动静分离打包分离lib方式

《配置springboot项目动静分离打包分离lib方式》本文介绍了如何将SpringBoot工程中的静态资源和配置文件分离出来,以减少jar包大小,方便修改配置文件,通过在jar包同级目录创建co... 目录前言1、分离配置文件原理2、pom文件配置3、使用package命令打包4、总结前言默认情况下,

如何使用Spring boot的@Transactional进行事务管理

《如何使用Springboot的@Transactional进行事务管理》这篇文章介绍了SpringBoot中使用@Transactional注解进行声明式事务管理的详细信息,包括基本用法、核心配置... 目录一、前置条件二、基本用法1. 在方法上添加注解2. 在类上添加注解三、核心配置参数1. 传播行为(

在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程

《在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程》本文介绍了在Java中使用ModelMapper库简化Shapefile属性转JavaBean的过程,对比... 目录前言一、原始的处理办法1、使用Set方法来转换2、使用构造方法转换二、基于ModelMapper

Java实战之自助进行多张图片合成拼接

《Java实战之自助进行多张图片合成拼接》在当今数字化时代,图像处理技术在各个领域都发挥着至关重要的作用,本文为大家详细介绍了如何使用Java实现多张图片合成拼接,需要的可以了解下... 目录前言一、图片合成需求描述二、图片合成设计与实现1、编程语言2、基础数据准备3、图片合成流程4、图片合成实现三、总结前