以下语言为js,所取的坐标以百度地图为准,所以需引用百度api,其它的坐标请转换后在判断即可。
1:创建中国地图边界线数组
function CreateChinaMapLine() { var pts = []; pt1 = new BMap.Point(124.326919, 39.841287); pts.push(pt1); pt2 = new BMap.Point(124.630475, 40.230192); pts.push(pt2); pt3 = new BMap.Point(124.980023, 40.420289); pts.push(pt3); pt4 = new BMap.Point(125.053612, 40.458947); pts.push(pt4); pt5 = new BMap.Point(125.028316, 40.520401); pts.push(pt5); pt6 = new BMap.Point(125.331871, 40.63438); pts.push(pt6); pt7 = new BMap.Point(125.456053, 40.61861); pts.push(pt7); pt8 = new BMap.Point(126.042467, 40.901897); pts.push(pt8); pt9 = new BMap.Point(126.888743, 41.73411); pts.push(pt9); pt10 = new BMap.Point(127.367072, 41.437131); pts.push(pt10); pt11 = new BMap.Point(128.148958, 41.347076); pts.push(pt11); pt12 = new BMap.Point(128.323732, 41.568524); pts.push(pt12); pt13 = new BMap.Point(128.112163, 41.961089); pts.push(pt13); pt14 = new BMap.Point(128.995233, 41.99541); pts.push(pt14); pt15 = new BMap.Point(129.418371, 42.378521); pts.push(pt15); pt16 = new BMap.Point(129.841509, 42.41943); pts.push(pt16); pt17 = new BMap.Point(130.080674, 42.90824); pts.push(pt17); pt18 = new BMap.Point(130.65099, 42.364879); pts.push(pt18); pt19 = new BMap.Point(130.503812, 42.637157); pts.push(pt19); pt20 = new BMap.Point(131.147717, 42.867653); pts.push(pt20); pt21 = new BMap.Point(131.313293, 43.366337); pts.push(pt21); pt22 = new BMap.Point(131.386882, 43.967324); pts.push(pt22); pt23 = new BMap.Point(131.202909, 44.798523); pts.push(pt23); pt24 = new BMap.Point(131.938801, 45.190155); pts.push(pt24); pt25 = new BMap.Point(133.024241, 44.916296); pts.push(pt25); pt26 = new BMap.Point(134.385641, 47.183241); pts.push(pt26); pt27 = new BMap.Point(134.845574, 47.670159); pts.push(pt27); pt28 = new BMap.Point(134.73519, 48.066299); pts.push(pt28); pt29 = new BMap.Point(135.250314, 48.434915); pts.push(pt29); pt30 = new BMap.Point(133.079433, 48.115602); pts.push(pt30); pt31 = new BMap.Point(132.453925, 47.76948); pts.push(pt31); pt32 = new BMap.Point(131.221306, 47.707427); pts.push(pt32); pt33 = new BMap.Point(130.85336, 48.078629); pts.push(pt33); pt34 = new BMap.Point(130.908552, 48.825163); pts.push(pt34); pt35 = new BMap.Point(128.093766, 49.632427); pts.push(pt35); pt36 = new BMap.Point(125.830898, 53.063643); pts.push(pt36); pt37 = new BMap.Point(123.420852, 53.60326); pts.push(pt37); pt38 = new BMap.Point(120.661258, 53.240599); pts.push(pt38); pt39 = new BMap.Point(119.906969, 52.584436); pts.push(pt39); pt40 = new BMap.Point(120.698052, 52.494695); pts.push(pt40); pt41 = new BMap.Point(120.734847, 52.05456); pts.push(pt41); pt42 = new BMap.Point(119.023898, 50.296998); pts.push(pt42); pt43 = new BMap.Point(119.263063, 50.143545); pts.push(pt43); pt44 = new BMap.Point(117.956855, 49.560675); pts.push(pt44); pt45 = new BMap.Point(116.889812, 49.858941); pts.push(pt45); pt46 = new BMap.Point(115.47322, 48.078629); pts.push(pt46); pt47 = new BMap.Point(115.988344, 47.607987); pts.push(pt47); pt48 = new BMap.Point(116.797825, 47.76948); pts.push(pt48); pt49 = new BMap.Point(117.349744, 47.520821); pts.push(pt49); pt50 = new BMap.Point(117.901663, 47.905734); pts.push(pt50); pt51 = new BMap.Point(118.508774, 47.893363); pts.push(pt51); pt52 = new BMap.Point(118.545569, 47.86861); pts.push(pt52); pt53 = new BMap.Point(119.888571, 46.843488); pts.push(pt53); pt54 = new BMap.Point(119.796585, 46.590415); pts.push(pt54); pt55 = new BMap.Point(119.005501, 46.717101); pts.push(pt55); pt56 = new BMap.Point(117.791279, 46.526961); pts.push(pt56); pt57 = new BMap.Point(117.404936, 46.310656); pts.push(pt57); pt58 = new BMap.Point(116.797825, 46.323404); pts.push(pt58); pt59 = new BMap.Point(116.282701, 45.798295); pts.push(pt59); pt60 = new BMap.Point(114.700534, 45.384961); pts.push(pt60); pt61 = new BMap.Point(113.670285, 44.759212); pts.push(pt61); pt62 = new BMap.Point(112.161707, 45.04687); pts.push(pt62); pt63 = new BMap.Point(111.444212, 44.298587); pts.push(pt63); pt64 = new BMap.Point(111.959336, 43.767669); pts.push(pt64); pt65 = new BMap.Point(110.082812, 42.569199); pts.push(pt65); pt66 = new BMap.Point(107.543985, 42.39216); pts.push(pt66); pt67 = new BMap.Point(105.115542, 41.609961); pts.push(pt67); pt68 = new BMap.Point(100.405834, 42.596391); pts.push(pt68); pt69 = new BMap.Point(96.560799, 42.772848); pts.push(pt69); pt70 = new BMap.Point(91.188788, 45.203163); pts.push(pt70); pt71 = new BMap.Point(89.992964, 47.893363); pts.push(pt71); pt72 = new BMap.Point(87.969261, 49.115857); pts.push(pt72); pt73 = new BMap.Point(86.847026, 49.055436); pts.push(pt73); pt74 = new BMap.Point(85.724791, 48.201769); pts.push(pt74); pt75 = new BMap.Point(85.301653, 47.05766); pts.push(pt75); pt76 = new BMap.Point(83.167567, 47.23339); pts.push(pt76); pt77 = new BMap.Point(82.284497, 45.52739); pts.push(pt77); pt78 = new BMap.Point(82.652442, 45.177144); pts.push(pt78); pt79 = new BMap.Point(81.769372, 45.346053); pts.push(pt79); pt80 = new BMap.Point(79.911245, 44.890145); pts.push(pt80); pt81 = new BMap.Point(80.702329, 43.20505); pts.push(pt81); pt82 = new BMap.Point(80.003232, 42.077702); pts.push(pt82); pt83 = new BMap.Point(77.096459, 41.05527); pts.push(pt83); pt84 = new BMap.Point(76.158197, 40.369298); pts.push(pt84); pt85 = new BMap.Point(75.753456, 40.594072); pts.push(pt85); pt86 = new BMap.Point(74.925578, 40.48178); pts.push(pt86); pt87 = new BMap.Point(73.803343, 39.605094); pts.push(pt87); pt88 = new BMap.Point(73.637767, 39.291284); pts.push(pt88); pt89 = new BMap.Point(73.913726, 38.457149); pts.push(pt89); pt90 = new BMap.Point(74.612824, 38.500536); pts.push(pt90); pt91 = new BMap.Point(74.999167, 37.31988); pts.push(pt91); pt92 = new BMap.Point(77.924337, 35.325072); pts.push(pt92); pt93 = new BMap.Point(78.273886, 34.598061); pts.push(pt93); pt94 = new BMap.Point(79.101764, 34.293224); pts.push(pt94); pt95 = new BMap.Point(78.770613, 33.987267); pts.push(pt95); pt96 = new BMap.Point(79.230545, 32.472038); pts.push(pt96); pt97 = new BMap.Point(78.880997, 32.59672); pts.push(pt97); pt98 = new BMap.Point(78.421064, 32.425237); pts.push(pt98); pt99 = new BMap.Point(78.844202, 31.18404); pts.push(pt99); pt100 = new BMap.Point(81.180659, 29.990271); pts.push(pt100); pt101 = new BMap.Point(81.71418, 30.34198); pts.push(pt101); pt102 = new BMap.Point(86.092737, 27.935542); pts.push(pt102); pt103 = new BMap.Point(88.760345, 27.951881); pts.push(pt103); pt104 = new BMap.Point(88.99951, 27.197728); pts.push(pt104); pt105 = new BMap.Point(89.845786, 28.098817); pts.push(pt105); pt106 = new BMap.Point(91.538337, 27.772017); pts.push(pt106); pt107 = new BMap.Point(92.108653, 26.769165); pts.push(pt107); pt108 = new BMap.Point(93.893191, 26.851709); pts.push(pt108); pt109 = new BMap.Point(95.916893, 28.115131); pts.push(pt109); pt110 = new BMap.Point(97.223102, 27.690161); pts.push(pt110); pt111 = new BMap.Point(97.609445, 28.375809); pts.push(pt111); pt112 = new BMap.Point(98.363734, 27.427807); pts.push(pt112); pt113 = new BMap.Point(98.73168, 26.653501); pts.push(pt113); pt114 = new BMap.Point(97.646239, 24.702995); pts.push(pt114); pt115 = new BMap.Point(97.627842, 23.842845); pts.push(pt115); pt116 = new BMap.Point(98.658091, 23.944344); pts.push(pt116); pt117 = new BMap.Point(98.970845, 23.045009); pts.push(pt117); pt118 = new BMap.Point(99.449174, 22.89168); pts.push(pt118); pt119 = new BMap.Point(99.21001, 21.96805); pts.push(pt119); pt120 = new BMap.Point(99.982696, 21.933723); pts.push(pt120); pt121 = new BMap.Point(100.166669, 21.366121); pts.push(pt121); pt122 = new BMap.Point(101.086534, 21.589991); pts.push(pt122); pt123 = new BMap.Point(101.730439, 21.055576); pts.push(pt123); pt124 = new BMap.Point(101.969604, 21.31441); pts.push(pt124); pt125 = new BMap.Point(101.804028, 22.190972); pts.push(pt125); pt126 = new BMap.Point(102.53992, 22.53323); pts.push(pt126); pt127 = new BMap.Point(103.956512, 22.447745); pts.push(pt127); pt128 = new BMap.Point(105.465091, 23.130116); pts.push(pt128); pt129 = new BMap.Point(107.819945, 21.435041); pts.push(pt129); pt130 = new BMap.Point(108.408658, 20.588528); pts.push(pt130); pt131 = new BMap.Point(108.243082, 17.791978); pts.push(pt131); pt132 = new BMap.Point(110.101209, 14.556493); pts.push(pt132); pt133 = new BMap.Point(109.82525, 10.162358); pts.push(pt133); pt134 = new BMap.Point(108.151096, 6.074665); pts.push(pt134); pt135 = new BMap.Point(109.604482, 3.416913); pts.push(pt135); pt136 = new BMap.Point(113.136763, 3.712694); pts.push(pt136); pt137 = new BMap.Point(115.362836, 6.737258); pts.push(pt137); pt138 = new BMap.Point(117.404936, 9.505473); pts.push(pt138); pt139 = new BMap.Point(119.318255, 14.574413); pts.push(pt139); pt140 = new BMap.Point(120.164531, 19.12633); pts.push(pt140); pt141 = new BMap.Point(122.059452, 21.693198); pts.push(pt141); pt142 = new BMap.Point(122.813741, 24.686186); pts.push(pt142); pt143 = new BMap.Point(124.230333, 28.457139); pts.push(pt143); pt144 = new BMap.Point(124.855841, 32.721228); pts.push(pt144); pt145 = new BMap.Point(124.230333, 36.56674); pts.push(pt145); pt146 = new BMap.Point(124.487895, 39.59086); pts.push(pt146); return pts; }