宝哥软件园

验证坐标在某坐标区域内服务器端编程语言(专业超文本预处理器的缩写)代码

编辑:宝哥软件园 来源:互联网 时间:2021-09-07

之前碰到的这样一个需求,要将公司的服务在地图中显示出来,并将用户每天的访问坐标进行统计看有多少用户是在所能达到的服务范围半径内。

以下是服务器端编程语言(专业超文本预处理器的缩写)代码的实现(仅验证坐标在某片坐标区域内)

?php/** *验证坐标点是否在某区域内* @作者梁潇[emailprotected] *类验证映射*/类验证映射{私有静态$ coordArray私有静态$ vertx=[];private static $ verty=[];/** * 设置坐标区域* @param混合$coordArray */公共静态函数setCoordArray(array $ coordArray){ self : $ coordArray=$ coordArray;} /** * 验证区域范围* @ param array $ coordArray * @返回bool */public static函数iscityCenter(array $ coordArray){ if(!自我:可用性数据点($ coordArray)){返回false}返回self : pnpoly(count(self : $ coordArray)、$coordArray['lng']、$ coordArray[' lat ']);} /** * 比较区域坐标* @ param $ nvert * @ param $ testx * @ param $ testy * @ return bool */private static函数pnpoly($nvert,$ testx,$ testy){ $ c=false;for ($i=0,$ j=$ nvert-1;$ I $ nvert $ j=$ I){ if(((self : $ verty[$ I]$ testy)!=(self:美元verty[$ j]$ testy))($ testx(self :美元vertx[$j]-self:美元vertx[$ I])*($ testy-self :美元维蒂[$ I])/(自我:3:美元verty[$ j]-self :3:美元verty[$ j]-self :33:美元$ c;}返回$ c;} /** * 验证坐标* @ param array $ pointArray * @ return bool */private static函数vaidatepoint(array $ pointArray){ $ MaxY=$ MaxX=0;$ MinY=$ MinX=9999 foreach(self : $ coordArray作为$ item){ if($ item[' LNG ']$ MaxX)$ MaxX=$ item[' LNG '];if($ item[' LNG ']$ MinX)$ MinX=$ item[' LNG '];if($ item[' lat ']$ MaxY)$ MaxY=$ item[' lat '];if($ item[' lat ']$ MinY)$ MinY=$ item[' lat '];self : $ vertx[]=$ item[' LNG '];self : $ verty[]=$ item[' lat '];} if($ pointArray[' LNG ']$ MinX | | $ pointArray[' LNG ']$ MaxX | | $ pointArray[' lat ']$ MinY | | $ pointArray[' lat ']$ MaxY){ return false;}返回true}}/***************测试* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */$ map=[//上海['lng'=121.488286,' lat'=31.420147],['lng'=121.702154,' lat'=31.294828],['lng'=121.780918,' lat'=31.141157],['lng'=121.782068,' lat'=30.941157],[' LNG '=1157//进行验证的区域validation map : etcoordarray($ map);var _ dump(validation map : is city center($ array));在地图中的运用:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

更多资讯
游戏推荐
更多+