JavaScript实现,判断一个点是否在多边形内(简直nice,希望能帮到你)
2024-08-23 15:15:06
//定义点的结构体
function point(){
this.x=0;
this.y=0;
} //计算一个点是否在多边形里,参数:点,多边形数组
function PointInPoly(pt, poly) {
for (var c = false, i = -1, l = poly.length, j = l - 1; ++i < l; j = i)
((poly[i].y <= pt.y && pt.y < poly[j].y) || (poly[j].y <= pt.y && pt.y < poly[i].y))
&& (pt.x < (poly[j].x - poly[i].x) * (pt.y - poly[i].y) / (poly[j].y - poly[i].y) + poly[i].x)
&& (c = !c);
return c;
} //调用 var pt=new point();
pt.x=34.32812720562833;
pt.y=108.93115997314453;
//这里的下x,y坐标是多边形的顺时针的拐角节点来排序的
var _poly=[{x:1.1,y:1.1},{x:3,y:1},{x:6,y:4},{x:2,y:10},{x:1.1,y:1.1}]; var xx=PointInPoly(pt,_poly);
alert(xx);
简直nice,解决了困扰我好久的地图区域内容显示
最新文章
- CSV文件分割与列异常处理的python脚本
- python之路七
- HDU 5074 Hatsune Miku(2014鞍山赛区现场赛E题)
- 50个提高PHP编程效率的方法
- oracle的存储结构
- Data Flow ->;>; Script Component
- android 分区layout以及虚拟内存布局-小结
- oracle数据库执行脚本常用命令总结
- angularjs--$watch、$watchGroup、$watchCollection含义
- Openstack Ceilometer监控项扩展
- python可视化--matplotlib
- 【LeetCode题解】动态规划:从新手到专家(一)
- 简述C/C++调用lua中实现的自定义函数
- Excel:11个查询函数组合
- linux系统常用的基本命令分类
- ubuntu里面搭建虚拟环境过程中遇到的问题以及解决方法。
- Android SO文件的兼容和适配
- WinPE无法识别NVMe SSD硬盘,如何重装系统
- Week2——XML
- 13 tcp3次握手 4次释放 mac和ip 访问百度的过程
热门文章
- 并发王者课-铂金6:青出于蓝-Condition如何把等待与通知玩出新花样
- 【原创】Ingress-Nginx-Controller的Metrics监控源码改造简析
- Unity接入ShareSDK实现QQ登录和QQ分享、微信分享
- XAML代码格式化神器扩展:XAML Styler,从安装到放弃
- 37.qt quick- 高仿微信实现局域网聊天V3版本(添加登录界面、UDP校验登录、皮肤更换、3D旋转)
- webpack(3)基础的打包过程
- vue3后台管理系统(模板)
- centos安装报错:license information (license not accepted)
- 315M、433M和2.4G笔记
- TestNG基础001