百度地图画圈搜索功能探索

百度地图 - 绘制驾车路线图 简介 在地图的开发中,最常出现的需求就是驾车线路规划。没开发过的人都会认为比较复杂,当把文档看了一遍之后你就会发现百度api比我们想象中还要强大。下面就开始介绍如何通过百度api轻松的实现这个功能。 创建地图 通过<script>标签引入百度地图地址,这里的ak是你在地图服务中心注册的。不了解的可以点 这里 <!DOCTYPE html> <html> <head> <meta http-equiv="X-UA-Compatible" c 阅读详情

        由于公司项目需要大量用到地图功能,看安居客和搜房网app上面手指画圈搜索功能比较新异,所以做了一个类似的Demo。效果如下:


        主要使用的技术有:触摸事件的处理、自定义view、屏幕xy坐标转化为百度经纬度坐标、百度地图自定义绘制、百度地图位置判断等。

        因为滑动屏幕时会移动百度地图,所以会跟手指画圈的动作冲突,这里我们使用了两个状态切换,一个状态是地图模式,满足用户的移动、放大缩小等;另一个状态是绘图模式,此时会在地图上面蒙一个自定义view,接下来的收拾操作都会在这个自定义view上面进行了。

        接下来就是自定义view的事情了,在view的onTouchEvent方法中获取手指down、move和up的xy坐标:

public boolean onTouchEvent(MotionEvent event) {
    float x = event.getX();
    float y = event.getY();
    activity.getLL(x, y);
    switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN://手指开始按压屏幕,这个动作包含了初始化位置
            startX = x;
            startY = y;
            onTouchDown(x , y);
            invalidate();//刷新画布,重新运行onDraw()方法
            activity.cleanMap();
            break;
        case MotionEvent.ACTION_MOVE://手指按压屏幕时,位置的改变触发,这个方法在ACTION_DOWN和ACTION_UP之间。
            onTouchMove(x , y);
            invalidate();
            break;
        case MotionEvent.ACTION_UP://手指离开屏幕,不再按压屏幕
            endX = x;
            endY = y;
            float deX = Math.abs(endX - startX);
            float deY = Math.abs(endY - startY);
            mCanvas.drawLine(startX, startY,endX, endY, mPaint);
            onTouchUp(x , y);
            invalidate();
            activity.show();
            mCanvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
            initXY();
            break;
    }
    return true;
}

        然后调用百度地图api,把屏幕坐标转化为经纬度坐标:

BaiduMap.getProjection().fromScreenLocation(point);

        然后使用百度地图自定义绘制功能在百度地图上面绘制线条,注意这里会自动把down点和up点进行收尾相连,形成一个封闭的图形:

OverlayOptions polygonOption = new PolygonOptions()
        .points(pts)
        .stroke(new Stroke(5, 0xAA00FF00))
        .fillColor(0xAA94E61A);
//在地图上添加多边形Option,用于显示
mBaiduMap.addOverlay(polygonOption);

        然后判断点pt是否在这个区域内,在区域内就显示:

if (SpatialRelationUtil.isPolygonContainsPoint(pts, new LatLng(lat, lng))){
    initOverlay(new LatLng(lat, lng), i);
}
        显示完后隐藏这个自定义view,接下来所有的手势都交由百度地图来处理了,这样就达到了画圈搜索功能。


百度地图AndroidSDK:定位、画区域、线路规划、搜索 参考学习: 百度地图官网: androidsdk/guide/basicmap - Wiki http://lbsyun.baidu.com/index.php?title=androidsdk/guide/basicmap 很有学习价值!!! Small_Cake的专栏里对于百度地图的使用做了很详细的介绍 1.深入学习百度地图Android SDK v4.0.0【第一关】基础地图 - ... 阅读详情

相关推荐

百度地图DIY旅行路线:从零搭建个性化行程规划工具

本文详细介绍了如何利用百度地图API从零搭建一个个性化的DIY旅行路线规划工具。通过申请密钥、初始化地图、绘制路线、添加自定义标注等步骤,即使非专业开发者也能轻松创建可视化行程,实现自由串联景点、标注详细信息并分享给旅伴,提升旅行规划的掌控感和效率。

weixin_28197941的博客 447

百度地图 baidu-map 地图根据范围画圈

地图画圈

weixin_44008500的博客 1万+

百度地图圈出一个范围

以一个经纬度为圆心,传入一个半径,画出一个圆

怎样在百度地图上画圈_简单几步就可以将店铺标注在百度地图上

第一步,打开百度地图,进入页面如下图第二步,右上角有个“上报”栏,点击进入,页面如下图:第三步,左下角有个“地点新增”栏,点击进入,页面如下图: 1.如果不在现场,就不需要打开我在现场的开关,根据页面提示,输入门店名称,确认门店位置,拍摄门店照片和输入其他信息。①名称,输入门店名称,注意要与招牌一致。②位置,确认门店位置,点击如下图:其中蓝色点位是你自身定位的位置,红色点位,是需要你移动的门店的位...

weixin_39611506的博客 1万+

CANdb++ Editor实战:5步搞定DBC文件信号布局与字节对齐(附常见错误排查)

本文详细介绍了使用CANdb++ Editor进行DBC文件信号布局与字节对齐的实战方法。通过五步法,深入解析Intel与Motorola字节序差异、跨字节信号布局规则,并借助Layout视图等工具,帮助工程师高效解决信号错位、数据解析错误等常见问题,确保CAN网络通信的准确性与可靠性。

solidity8miner的博客 695

STM32解码EM4100的曼彻斯特编码(库函数版本)

前言: 前些日子老师布置一个任务叫我们焊接一个RFID读卡器,其中刚好我们手上也有一个STM32F103RBT6开发板,老师于是布置任务叫我们用STM32完成对EM4100进行读卡操作 EM4100简介: 中 文 名:EM4100卡 存储容量:64bit 工作频率:125KHZ 读写距离:2-15cm 产品名称:EM4100/EM4102卡 芯片类型:μEM瑞士微电 EM4100/EM4102 擦写寿命:读不限,只读 外形尺寸:ISO标准卡/厚卡 封装材料:PVC、ABS 典型应用:身份识别、考勤系统、门禁

Gancenty 8598

Vue利用百度地图画圆并且获取圆心坐标和半径

Vue利用百度地图画圆并且获取圆心坐标和半径 这个东西不好整,既要使用Vue接入百度地图,又要画圆。 Vue接入百度地图 Vue 接入百度地图其实是有插件的,vue-baidu-map 这个插件有官网,直接 npm install 就可以。 vue-baidu-map API接口 : https://dafrok.github.io/vue-baidu-map/#/ 然后教程啥的都写的很清晰,包括安装和使用,自己就接进去了,但是画圆获取圆心坐标和半径有点问题,可能不满足这个需求,所以说就得用百

“跟他人学,和自己比” 6958

对计算机专业来说学历真的重要吗?

我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。 这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历不好的解决方案,记得帮我点赞哦。 先说结论,无论赞不赞同,它本质就是这样:对于技术类工作而言,学历五年以内非常重要,但有办法弥补。五年以后,不重要。 目录: 张雪峰讲述的事实 我看到的事实 为什么会这样 ...

启舰 55万+

百度地图的基本使用

使用 我们需要在百度地图开放平台注册认证,获取密钥,在页面引入 <script type="text/javascript" src="https://api.map.baidu.com/api?v=1.0&&type=webgl&ak=您的密钥" ></script> 然后才能开始使用 简单地图 创建一个地图需要一个容器(可以定义地图的宽高) <div id="container"></div> &

weixin_57180500的博客 2219

YOLOv11多模态融合实战:基于YOLOFuse的RGB与红外线(IR)协同检测技术解析

本文深入解析了基于YOLOv11的YOLOFuse多模态融合技术,重点探讨了RGB与红外线(IR)协同检测的实现原理与实战应用。文章详细介绍了双流架构与数据级、特征级、决策级三种融合策略,并通过实战案例展示了其在低光照、复杂环境下显著提升检测精度与鲁棒性的优势,为全天候安防、自动驾驶等场景提供了有效的技术解决方案。

weixin_29041195的博客 650

SigFit实战:从FEA到光学仿真的热力耦合分析全流程解析

在光机系统与芯片封装等精密工程领域,热与力的耦合效应是影响产品性能与可靠性的核心物理问题。有限元分析(FEA)是预测结构在热、力载荷下变形与应力的基础工具,但其结果通常无法直接用于评估光学性能。这需要一座桥梁,将物理场数据转化为光学设计语言。其核心原理在于数据映射与面形表征技术,例如通过泽尼克多项式拟合,将离散的节点位移分解为离焦、像散等标准光学像差。这项技术的工程价值在于,它实现了多物理场仿真的闭环,使工程师能在设计阶段精准预测热变形或应力对波前误差、调制传递函数等关键光学指标的影响。其典型应用场景包括高

weixin_28630185的博客 338

怎样在百度地图上画圈_只需几步,把你的店名标注到百度地图上

百度地图是很多朋友手机上必备的软件,使用百度地方非常方便,搜索自己的目的地,可以直接规划出线路。百度地图上的信息呢都是百度地图通过系统自动采集到的,系统会根据网络上的信息不断采集最低的商户信息和地址以及电话。这样可以帮助需求者更好的服务。但是对于一些新的商户,百度也不一定能第一时间抓取到新商户信息和地址,所以需要商户主要提交你的信息,以便于很好的展现给跟多的用户。目前,百度地图提供有手机和电脑网页...

weixin_39714275的博客 2702

【项目实战】Java9的新特性模块化(Module)

Java 9引入了模块化系统,称为"Java Platform Module System"(JPMS)这个系统允许将Java程序分成模块,每个模块都有自己的规范,可以明确地声明它依赖于哪些其他模块,并且只能访问被其所依赖的模块暴露的API。这样可以模块化就是增加了更高级别的聚合,是Package的封装体。Package是一些类路径名字的约定,而模块是一个或多个Package组成的封装体。

奶爸的编程之路,也就一周冷个三天 1896

百度地图应用

*容器地图的宽高 */}

wbh_ABC的博客 380

NXP(恩智浦)—TJA1043TK CAN收发器芯片详解

本文章主要讲解NXP(恩智浦)—TJA1043TK CAN收发器的相关知识。

零零刷的博客 2201

从零构建法律案例数据库:Python爬虫实战与法律文本挖掘全攻略

在当今数字化浪潮席卷全球的背景下,法律行业正经历着前所未有的变革。法律案例数据库作为法律大数据的重要组成部分,已经成为法律从业者、研究人员、法学院学生乃至企业法务部门的必备工具。然而,商业法律数据库如北大法宝、威科先行、LexisNexis等往往价格不菲,且数据访问受限。对于个人研究者或小型机构而言,构建一个定制化的法律案例数据库不仅能节省成本,更能根据特定研究需求灵活调整数据结构。

2201_76125261的博客 538

百度地图使用

1.在百度地图开发者平台注册账号 https://lbsyun.baidu.com/2.创建地图应用3.获取AK 2.创建一个地图需要的容器(可以定义地图的宽高) 3.初始化地图 添加功能 可以对创建的地图添加很多的功能:鼠标滚动收缩、添加点、画圈、添加文本标注1.鼠标滚动缩放 2.添加点 也可以让添加的点链接起来 再给鼠标添加事件让点击鼠标时让之前的点链接 完成这些后就得到如下效果的地图3.添加控件 4.画圈 5.添加文本标注 6.搜索...

wbh_ABC的博客 507

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

百度地图的基本使用方法

百度地图api的基本使用

m0_63742687的博客 1811

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

怎样在百度地图上画圈_新公司怎样进行网络推广

网络推广对于现在的公司来说非常重要,那么对于一个新公司来说,怎样开展网络推广工作比较有效?相关工作人员需要怎样进行网络推广管理?这里面其实大有学问。接下来呢,我们就一起来了解一下,网络推广管理的内容都有哪些吧?一、新公司网络现状:1、老板根本不懂什么是网络推广,何谈知道怎么做网络推广;2、招不到合适的人,也不知道怎么去安排工作和看做的网络推广怎么样;3、找网络推广外包公司不知道选哪家靠谱;4、新公...

weixin_39713686的博客 229

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

用Python调用百度地图接口,给你一个端午旅游攻略

作者|小超来源|菜鸟学Python(ID:cainiao_xueyuan)小编来自于山东的沿海城市日照,但是提起来日照,可能没有几个小伙伴会知道。于是小编就以青岛作为本次...

Python大本营的博客 2100

百度地图---poi地区搜索

这是目前项目中的第一个需求,就是根据当前页面显示的地址,点击查看按钮,然后就出来一个地图, 东西很简单,就是告诉你一个地址,你把地图显示给我就行了,当前这里面涉及到这个地址是模糊的,也就是这个地址可能在地图上有多个地点 很简单的代码就搞定了: private BaiduMap mBaiduMap = null;//对应的布局文件中的那个视图控件 private PoiSearc

wust小吴 804

百度地图API 浏览器端调用 傻瓜教程

百度地图API 浏览器端调用 傻瓜教程百度地图API浏览器端调用1.进入官网2.开发指南3.注册百度账号4.申请成为百度开发者5.获取服务密钥(ak)6.找到ak7.复制粘贴8.宝藏 百度地图API浏览器端调用 最近写网页用到了百度地图API,分享方法 1.进入官网 百度搜索“百度地图API”,进入官网-开发文档-JavaScript API 2.开发指南 点击开发指南-入门指南 3.注册百度账...

持续战斗状态的博客 6451

百度地图 key_就是牛逼|用Python调用百度地图接口,给你一个端午旅游攻略

小编来自于山东的沿海城市日照,但是提起来日照,可能没有几个小伙伴会知道。于是小编就以青岛作为本次旅游的假想目的地,来向大家展示一下青岛的一些旅游目的地。01.利用百度地图API用过百度地图的小伙伴可能都知道,利用百度地图可以搜索一个地区的美食和旅游地点,因此,这就为我们的数据获取提供了渠道。要获取这些数据,可以利用百度地图开发者的平台。打开下面的网址,http://lbsyun.baid...

weixin_39611510的博客 408

IOS开发百度地图API-用点生成路线,导航,气泡响应

IOS百度地图API开发自定义气泡,点击气泡自动生成路线,以及拖拽 IOS百度地图开发POISearch搜索附近停车场,附近加油站 IOS百度地图视角跳到用户当前位置 IOS百度地图开发实时路况 IOS开发百度地图自动导航 IOS开发百度地图在大头钉上加文字和图片,点击这个整体再弹出气泡 IOS开发百度地图实现经纬度导航,无需地名。  第一部分--牛刀小试 百度地图零基础到

bluewindaa的专栏 1396

c++调用python接口_就是牛逼|用Python调用百度地图接口,给你一个端午旅游攻略...

小编来自于山东的沿海城市日照,但是提起来日照,可能没有几个小伙伴会知道。于是小编就以青岛作为本次旅游的假想目的地,来向大家展示一下青岛的一些旅游目的地。01.利用百度地图API用过百度地图的小伙伴可能都知道,利用百度地图可以搜索一个地区的美食和旅游地点,因此,这就为我们的数据获取提供了渠道。要获取这些数据,可以利用百度地图开发者的平台。打开下面的网址,http://lbsyun.baid...

weixin_40004659的博客 294

百度地图 API 实战指南:从初始化到避坑的完整历程

地图API是前端开发中常见的地理位置解决方案,但实际接入时远比“加个script标签”复杂。开发者需要在理解坐标体系、AK密钥配置、地图初始化原理的基础上,才能正确处理Marker标记、事件绑定、路线规划等功能。高质量的地图交互不仅能提升用户体验,还能支撑门店展示、物流调度等业务场景。然而,坐标偏移、AK校验失败、版本混用等问题常常让新手无所适从。本文基于实际项目经验,梳理了百度地图API的核心用法与常见坑点,帮助开发者快速掌握从地图渲染到服务联调的全流程,少走弯路。

weixin_32932149的博客 260
上一篇: 如何减少APK包的大小
高速蜗牛a
博客等级 码龄15年 14粉丝 13原创
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值