怎么用javascript判断该坐标是否在地图区域范围内
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍"怎么用javascript判断该坐标是否在地图区域范围内",在日常操作中,相信很多人在怎么用javascript判断该坐标是否在地图区域范围内问题上存在疑惑,小编查阅了各式资料,整理
千家信息网最后更新 2026年11月01日怎么用javascript判断该坐标是否在地图区域范围内
这篇文章主要介绍"怎么用javascript判断该坐标是否在地图区域范围内",在日常操作中,相信很多人在怎么用javascript判断该坐标是否在地图区域范围内问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么用javascript判断该坐标是否在地图区域范围内"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
具体需求如下:
根据腾讯地图划分配送区域,总站下边设多个配送分站,然后将订单中的收货地址将其分配给不同的配送分站。
1、地图区域划分(腾讯地图)
1.1、HTML
重置地图
1.2、JS
//初始化新地图 initNewMap:function(){ var map = new qq.maps.Map(document.getElementById("container"), { center: new qq.maps.LatLng(36.05562,103.88191),// 地图的中心地理坐标。 zoom:13// 地图的中心地理坐标。 }); var drawingManagerOpt = new qq.maps.drawing.DrawingManager({ drawingMode: qq.maps.drawing.OverlayType.POLYGON, drawingControl: true, drawingControlOptions: { position: qq.maps.ControlPosition.TOP_CENTER, drawingModes: [ qq.maps.drawing.OverlayType.POLYGON ] }, circleOptions: { fillColor: new qq.maps.Color(255, 208, 70, 0.3), strokeColor: new qq.maps.Color(88, 88, 88, 1), strokeWeight: 3, clickable: false } }); drawingManagerOpt.setMap(map); var points = ""; qq.maps.event.addListener(drawingManagerOpt, 'overlaycomplete', function(event) { event.overlay.getPath().forEach(function(e){ var lng=e.getLng(); var lat=e.getLat(); points+=lng+","+lat+"-"; }); points=points.substring(0, points.length-1); vm.getPeopleDataByPolygon(points); }); }, //初始化老的地图 initOldMap:function(value){ var map = new qq.maps.Map(document.getElementById("container"), { center: new qq.maps.LatLng(36.05562,103.88191),// 地图的中心地理坐标。 zoom:13// 地图的中心地理坐标。 }); //获取旧坐标 let data = $("#jqGrid").jqGrid('getRowData', getSelectedRow("#jqGrid")); var areaCoordinateArray = new Array(); areaCoordinateArray = data.areaCoordinate.split("-"); var path = new Array(); for(var i=0;i1.3、结果:
2、判断坐标是否在多边形区域内
/** * 判断是否在多边形区域内 * * @param pointLon * 要判断的点的纵坐标 * @param pointLat * 要判断的点的横坐标 * @param lon * 区域各顶点的纵坐标数组 * @param lat * 区域各顶点的横坐标数组 * @return */ public static boolean isInPolygon(double pointLon, double pointLat, double[] lon, double[] lat) { // 将要判断的横纵坐标组成一个点 Point2D.Double point = new Point2D.Double(pointLon, pointLat); // 将区域各顶点的横纵坐标放到一个点集合里面 List pointList = new ArrayList(); double polygonPoint_x = 0.0, polygonPoint_y = 0.0; for (int i = 0; i < lon.length; i++) { polygonPoint_x = lon[i]; polygonPoint_y = lat[i]; Point2D.Double polygonPoint = new Point2D.Double(polygonPoint_x, polygonPoint_y); pointList.add(polygonPoint); } return check(point, pointList); } /** * 一个点是否在多边形内 * * @param point * 要判断的点的横纵坐标 * @param polygon * 组成的顶点坐标集合 * @return */ private static boolean check(Point2D.Double point, List polygon) { java.awt.geom.GeneralPath peneralPath = new java.awt.geom.GeneralPath(); Point2D.Double first = polygon.get(0); // 通过移动到指定坐标(以双精度指定),将一个点添加到路径中 peneralPath.moveTo(first.x, first.y); polygon.remove(0); for (Point2D.Double d : polygon) { // 通过绘制一条从当前坐标到新指定坐标(以双精度指定)的直线,将一个点添加到路径中。 peneralPath.lineTo(d.x, d.y); } // 将几何多边形封闭 peneralPath.lineTo(first.x, first.y); peneralPath.closePath(); // 测试指定的 Point2D 是否在 Shape 的边界内。 return peneralPath.contains(point); } 到此,关于"怎么用javascript判断该坐标是否在地图区域范围内"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
坐标
地图
区域
纵坐标
范围
地理
多边形
顶点
学习
分站
数组
更多
横坐标
精度
路径
腾讯
帮助
不同
实用
接下来
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技园
百单网互联网科技有限公司
伟宏互联网科技
互联网科技英文
北京互联网络科技有限公司
兼蜜互联网科技
上海卓越科技 互联网
互联网科技公司名称
广州优美互联网科技
上海宁丞科技互联网
昭通互联网科技选哪家
互联网科技公司有风险吗
深圳市罗太互联网科技有限公司
朱啸虎曾投资哪些互联网科技企业
城市宝互联网科技有限公司
郑州欣桑互联网科技有限公司
国产互联网科技公司
黑龙江互联网科技公司
知域互联网科技有限公司官网
中国主要互联网科技公司
咖啡网
北京路客互联网科技有限公司
圆梦互联网科技
互联网中国科技
万易互联网科技有限公司
国外互联网科技网站
互联网公司会议桌创意科技软装饰
互联网时代科技改变生活
中国互联网有什么科技
互联网 科技节活动 微视频大赛