判断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;
}
判断gps是否在国内的更多相关文章
- Android判断GPS是否开启和强制帮用户打开GPS
		引子:在我们的应用为用户提供定位服务时,通常想为用户提供精确点的定位服务,这是需要用户配合的.我们必须先检测用户手机的GPS当前是否打开,若没打开则弹出对话框提示.用户若不配合我们也没办法,只能采用基 ... 
- XAMARIN +VS2015 ANDROID 开发判断gps 是否打开。
		在获取位置的时候首先要判断gps是否打开,如果没有打开就要提示打开,当然最友好的就是直接调转到打开界面. LocationManager alm = (LocationManager)this.Get ... 
- 判断网络是否连接 和 判断GPS是否连接
		//判断网络是否连接 public static Boolean isNetworkEnabled(Context context){ int status=-1 //设置默认连接的状态为-1 Co ... 
- 判断GPS、网络是否开启
		判断GPS.网络是否开启 1.判断GPS打开与否,没有打开则打开GPS private void initGPS(Context context) { LocationManager location ... 
- 判断GPS是否开启&转到设置GPS界面
		/** * 判断GPS是否开启,GPS或者AGPS开启一个就认为是开启的 * @param context * @return true 表示开启 */ public static final boo ... 
- (iOS)判断GPS坐标是否在中国
		博文转载至 http://blog.csdn.net/cuibo1123/article/details/45691631 火星坐标经纬度范围 由于火星坐标问题,所以需要判断一下经纬度是否在中国. 基 ... 
- ios 判断GPS是否是在中国境内
		博文转载至 http://blog.csdn.net/cuibo1123/article/details/45691631 ZCChinaLocation 基本思路是:把整个行政区域划分为几个小的矩形 ... 
- 判断ip地址是属于国内还是国外
		一,如何判断一个ip地址是否属于国内? 我们以前使用淘宝提供的一个api地址进行判断,但经常出现打不开的报错, 因为只需要判断是国内或国外,于是考虑自己搞一个简单的. 分配给国内的ip地址在apnic ... 
- Android Service获取当前位置(GPS+基站)
		需求详情:1).Service中每隔1秒执行一次定位操作(GPS+基站)2).定位的结果实时显示在界面上(要求得到经度.纬度)技术支持:1).获取经纬度通过GPS+基站获取经纬度,先通过GPS来获取, ... 
随机推荐
- PAT甲题题解-1125. Chain the Ropes (25)-贪心水题
			贪心水题,每次取最短的两个绳子合并,长度缩减成一半 #include <iostream> #include <cstdio> #include <algorithm&g ... 
- C++ 继承和派生介绍
			继承(inheritance)是软件重用的一种方式,程序员通过继承可以吸收已有类的数据和行为来创建新类,并可以添加新的数据和行为来增强类的功能.创建新类时,并不需要创建全新的数据和成员函数,我们可以指 ... 
- Todo&Rocket
			Todo是怎么实现的? 前面两篇博客分别介绍了MVC和Backbone.js的逻辑,但是实战获真知,在来一篇来显示下Todo是怎么通过Backbone.js连接起来的. 忽略掉所有的代码,我们只是打开 ... 
- [2017BUAA软工助教]结对项目小结
			2017BUAA结对项目小结 一.作业链接 http://www.cnblogs.com/jiel/p/7604111.html 二.评分细则 1.注意事项 按时间完成并提交--正常评分 晚交一周以内 ... 
- YQCB冲刺第二周第四天
			站立会议 任务看板 今天的任务为实现精准查账的功能. 昨天的任务为实现查看消费明细的功能. 遇到的问题为忘记在记账记录的表中添加用户名一栏,这样导致不同用户登录时查看消费明细会显示所有用户的所有记录. 
- C语言入门:06.基本运算
			一.算术运算 C语言一共有34种运算符,包括了常见的加减乘除运算 1. 加法运算+ 除了能做加法运算,还能表示正号:+5.+90 2.减法运算- 除了能做减法运算,还能表示符号:-10.-29 3. ... 
- Oracle与SQLSERVER修改数据文件的路径
			1. SQLSERVER ALTER DATABASE CWBASEMSS modify file (name = cwbasemss_dat ,filename = 'c:\cwdata\mss\C ... 
- PGSQL 数据库备份练习
			截图先 慢慢说 1. 简单使用方法 先用 之前的setx 命令设置环境变量. set path=%PATH% ---其实第一步没必要..... 跟人学的 setx PATH "%path%& ... 
- Latex使用:在latex中添加算法模块
			在Miktex下有三个latex algorithm包,分别为:algorithm,algorithmic,algorithm2e三个,其中algorithm,algorithmic经常成套使用: l ... 
- 【刷题】LOJ 6013 「网络流 24 题」负载平衡
			题目描述 G 公司有 \(n\) 个沿铁路运输线环形排列的仓库,每个仓库存储的货物数量不等.如何用最少搬运量可以使 \(n\) 个仓库的库存数量相同.搬运货物时,只能在相邻的仓库之间搬运. 输入格式 ... 
