• 判断gps是否在国内


    参考文章:【WP7】判断GPS坐标是否在中国

    根据国家行政边界判定(光线投射算法)

    按需求调整了原文中的部分边界值,测试几组边界附近内外坐标,结果较为准确。

    /**
     * 判断GPS坐标是否在多边形中
     * @param array  list 国家行政边界数组,[维度,经度] 的形式,取0,1键值
     * @param float lat  维度
     * @param float lng  经度
     * @return bool
     */
    var IsInsidePolygon = function(list, lat, lng){
        var inside = false;
        var prePoint = list[0];
        for(var i = 1; i < list.length; i++) {
            var nextPoint = list[i];
            if(lng > Math.min(prePoint[1], nextPoint[1]) && lng <= Math.max(prePoint[1], nextPoint[1]) && lat <= Math.max(prePoint[0], nextPoint[0]) && prePoint[1] != nextPoint[1]) {
                xinters = (lng - prePoint[1]) * (nextPoint[0] - prePoint[0]) / (nextPoint[1] - prePoint[1]) + prePoint[0];
                if(prePoint[0] == nextPoint[0] || lat <= xinters)
                    inside ^= true;
            }
            prePoint = nextPoint;
        }
        return inside;
    }
  • 相关阅读:
    4-11
    4-10
    4-9
    4-7
    4-8
    4-6
    4-4
    4-5
    4-3
    4-2
  • 原文地址:https://www.cnblogs.com/suiyueshentou/p/6700125.html
Copyright © 2020-2023  润新知