PhoneGap能让你只使用的简单的Web技术即可获得移动设备的原生特性,如摄像头、加速器、指南针。 PhoneGap是完全开放源代码的,你可以通过编写组件,实现任何原生设备特性的扩展。...4.插件添加完成以后,就可以在创建的目录中,进入www目录下,然后对index.html进行编辑,在这里面实现点击返回按钮时,弹出“hello world”,保存文件。...好了,现在我们的第一个phonegap程序就完成了,下载到我们手机中,然后安装打开,去试一试吧。 理解事件 事件是可以被控件识别的操作,如按下确定按钮,选择某个单选按钮或者复选框。...每一种控件有自己可以识别的事件,如窗体的加载、单击、双击等事件,编辑框(文本框)的文本改变事件,等等。对于我们操作手机也是一样,点击后退按钮、按下Home键、电池电量低等等。 ...在本问将简单的讲解一些PhoneGap提供的一些事件的API,如deviceready、backbutton、menubutton等。
用熟悉的Web前端技术就可以开发出很专业的手机应用程序。 l 提供强大的硬件访问控制。比起传统的Web程序,PhoneGap提供了一些列的JS 的类,可以直接访问硬件。...PhoneGap的架构很复杂,但对于大多数开发者来说,只用很简单的配置就可以搭好环境。只用专注写好自己的Web页面,拷贝进去就可以了。...会简单使用这些平台后,就可以安装PhoneGap的平台了,可以参考:http://www.phonegap.com/start 1.4 PHONEGAP的得力助手 开发PhoneGap的程序,jQuery...一般的处理方式是重新定义按钮的样式,使它变得更像手机平台上的按钮。jQuery Mobile为你提供了这一套框架,你可以通过很简单的属性设置就可以做出跟手机平台下车差不多的按钮,相当方便。...3.1.2 用PhoneGap访问设备本地API 提供跨平台设备访问能力,以下列出访问设备部分功能,本系列专题在以后文章中详解使用方法。
2、使用的场景不同,手机用户多数在户外的时候使用应用,希望能够在尽可能快的时间内完成任务。 3、用户交互的方式不同。...因为手机拥有传感器、指南针等物理部件,因此我们开发程序的时候所需要考虑的会完全不同。 4、手机平台的差异性更加大,不仅操作系统有差异,每个操作系统上的特性都有所不同。 PhoneGap架构 ?...假设你已经在本机安装了JDK1.6+,因为要使用Java Development Environment的支持,所以需要Ecplise版本在3.2以上。...实际的开发案例(Mac OS X下): 1、将Android的平台工具(platform-tools)和工具(tools)两个目录加入环境变量中 2、进入到Cordova对应的Android版本bin目录下.../create project_folder package project_name 3、然后再将工程导入到Eclipse中,就可以进行编辑和测试了。
随着配备了各种传感器移动设备的逐渐普及,如惯性测量单元(IMU)、重力计、指南针、GPS、WiFi 和蓝牙等,结合视觉和多传感器的位姿估计法,为在实际场景中准确定位提供了一种新思路。...此外,IMU 传感器测量的重力方向具有较高的精度,是一种常用的位姿先验。...然而,目前还没有一种同时考虑多种传感器的视觉定位方法。如今,手机和其他智能设备已经配备了各种各样的传感器,包括陀螺仪、加速度计、指南针、GPS、Wifi 和蓝牙等。...论文在 PnP RANSAC 迭代中插入一个简单有效的验证模块,以保证重力方向的正确性。...另外,重力方向引导的 PnP RANSAC 不仅提高了精度,还将位姿估计的运行速度提升了 4 倍。可以看到,在时变的室外环境中,通过视觉和多传感器数据,可以实时求解出令人满意的位姿。
什么是数字罗盘,和指南针有什么关系? 指南针是我们外出旅游时,用来指示方向的一种工具。...常见的机械式指南针,它是一种根据地球磁场的有极性制作的地磁指南针,但这种指南针指示的南北方向与真正的南北方向不同,存在一个磁偏角。...Windows Phone 7上的数字罗盘 为了方便我们的日常生活,传感器可以说是手机中必备的功能器件。常用的传感器包括加速度传感器、数字罗盘、GPS等等。...Compass提供的数据 Windows Phone 7的Compass,可以提供的数据及其含义如下: (1)HeadingAccuracy -- 数字罗盘方向指示的精度,该数值一般用来指示是否需要校准...应用程序从Compass类中获得的角度信息会根据手机的姿态有所调整,其中主要是横屏和竖屏模式的区别。判断手机处于哪种状态,可以通过加速度传感器中Z轴的值来实现。
近年来,另一种应用形态——基于HTML5技术的Web App也如雨后春笋般出现,于是关于原生APP与HTML5 APP 谁将成为未来的王者,APP开发者们一直争论不休。...与Phonegap支持单一webview使用div为单位开发移动应用不同。AppCan支持多窗口机制,让开发者可以像最传统的网页开发一样,通过页面链接的方式灵活的开发移动应用。...AppCan提供强大的设备调用能力,电话、短信、相机、LBS、传感器、数据库等常用的手机功能,开发者可以通过JS接口调用,轻松构建移动应用。...2.基于phonegap(cordova)框架,如相机、地图、LBS定位、指南针、通讯录、文件、语音、电池等。...跟JQuery一样是一个轻量级的JS库,一样使用HTML5+CSS+JS的技术。应为轻量级,所以在web加载时比Sencha有一点优势。缺点显而易见,UI控件太少了。
在Android中对应的常量值为:Sensor.TYPE_ORIENTATION。 Ø 方向传感器(Orientation):用于感应手机设备的摆放状态,它可以测量出手机顶端所处的方向。...5.2 SensorSimulator工具简介 在Android系统中开发传感器应用十分简单,只需要通过简单的几步就可以实现非常复杂的功能,虽然在Android中开发传感器比较简单,但Android模拟器本身并没有提供传感器功能...如果values[0]的值正好是这4个值,并且手机是水平放置的,那么手机的正前方就是这4个方向。可以利用这个特性来实现指南针。 Ø values[1]:该值表示倾斜度,或手机翘起的程度。...方向传感器是使用最多的传感器之一,通过使用方向传感器,Android手机可以完成诸如指南针、水平尺等各种实用工具的功能,该传感器主要适应手机方位的变化,捕获的同样是三个数据,分别代表手机沿Yaw轴、Pitch...如下图所示: 图5.1.6 Pitch轴原理 Roll轴是沿着手机屏幕向上的轴,在图5.1.6中可以看到,无论手机是何种姿态,Roll轴都是沿着手机的屏幕向上的,其方向是和手机绑定的。
在Android中对应的常量值为:Sensor.TYPE_ORIENTATION。 Ø 方向传感器(Orientation):用于感应手机设备的摆放状态,它可以测量出手机顶端所处的方向。...5.2 SensorSimulator工具简介 在Android系统中开发传感器应用十分简单,只需要通过简单的几步就可以实现非常复杂的功能,虽然在Android中开发传感器比较简单,但Android...如果values[0]的值正好是这4个值,并且手机是水平放置的,那么手机的正前方就是这4个方向。可以利用这个特性来实现指南针。 Ø values[1]:该值表示倾斜度,或手机翘起的程度。...方向传感器是使用最多的传感器之一,通过使用方向传感器,Android手机可以完成诸如指南针、水平尺等各种实用工具的功能,该传感器主要适应手机方位的变化,捕获的同样是三个数据,分别代表手机沿Yaw轴、Pitch...如下图所示: 图5.1.6 Pitch轴原理 Roll轴是沿着手机屏幕向上的轴,在图5.1.6中可以看到,无论手机是何种姿态,Roll轴都是沿着手机的屏幕向上的,其方向是和手机绑定的。
高仿系统指南针,方向数据是地磁航向数据,有定位地理位置信息和地磁方向信息,可以和系统的指南针对比看一看。...刻度(北)在最上方。...中加入隐私定位权限关键字 Privacy - Location When In Use Usage Description // 注意开启手机的定位服务,隐私那里的 self.locationManager...} else{ NSLog(@"不能获得航向数据"); } 通过实现定位装置的代理方法: -(void)locationManager:(CLLocationManager...*)manager didUpdateHeading:(CLHeading *)newHeading 来获得地理和地磁航向数据,从而转动地理刻度表以及表上的文字标注; 方法-(BOOL)locationManagerShouldDisplayHeadingCalibration
法国国家科学研究中心和艾克斯-马赛大学的科学家,通过模仿沙漠蚂蚁的能力,设计出一种可以独立移动的机器人,这种机器人利用“天体指南针”,能在没有任何GPS或测绘图的情况下返回基地。...模仿沙漠蚂蚁,定位精确到1厘米 目前,获取位置的方法多样,GPS是获取确定地球位置所需信息的主要方法,已集成到智能手机、手表和汽车上,但GPS在智能手机上的准确度仅为4.9米,误差相当大。...同步定位和制图(SLAM)方法广泛应用于自动驾驶汽车、行星探测器和无人驾驶飞行器,SLAM算法可以达到很高的精度,但是计算成本非常高。...研究人员发现,沙漠蚂蚁导航能力超级强大,它们可以在强敌环伺的环境中觅食数百米,然后找到回家的路,最关键的是,沙漠蚂蚁并没有依靠上述任何一种定位技术。...这种非凡的导航天赋依赖于两条信息:一种是“天体指南针”测量的航向,一种是使用天空的偏振光的定位以及覆盖的距离。
在日常生活中,指南针是一种非常实用的工具,可以帮助我们确定方向,特别是在户外探险、航海、定位等场景中。传统的磁罗盘指南针存在一些不便之处,如体积较大、不易携带、容易受到外界干扰等。...该模块集成了三轴磁场传感器和三轴加速度传感器,能够提供高精度和稳定的指南针数据。 在项目的具体实现中,通过STC89C52与LSM303DLH模块进行通信,获取指南针传感器的原始数据。...通过该电子指南针,用户可以方便地获得当前的方向信息,无论是在户外旅行、徒步探险还是其他需要导航的场景中,都能提供实时准确的方向指引。该项目不仅具有一定的技术挑战性,也能为用户带来便利和实用性。...这些数字接口使得与微控制器、单片机或其他数字设备的集成变得简单。 (4)高性能:LSM303DLH 提供高精度和低噪声的测量,以获得准确的加速度和磁场数据。...这个系统可以读取磁场数据并计算出指南针的方向,并将其显示在LCD上,为用户提供了方便和准确的指南针功能。
这类测量的偏差需要比较仔细的算法进行修正,而且往往不能单靠惯性测量元件自己的测量完全消除。 地磁指南针是一种测量航向的传感器。指南针在人们的生活中作用重大,在未知的环境中,不分南北可能寸步难行。...同样地,这个理论虽然非常简单,但是地磁线的强度非常弱,很容易受到干扰。比如多旋翼飞行器通用的无刷电机,在运转的时候就会产生变化的磁场,和地磁场叠加之后,地磁指南针就找不到正确的方向了。...在通过地磁指南针获得航向的基础上,两种速度的观测就可以融合起来,通过GPS的测量值来发现并抑制惯性测量元件的发散。惯性测量元件的发散被抑制住之后,它也可以更准地测量三维角度和三维加速度。...在室内环境中,GPS甚至完全不能使用。组合导航技术要想进一步发展,就需要寻找其他能够在GPS不能使用的环境中使用的传感器。 一种较为简单的能够替代GPS测量高度的传感器是小型超声波模块。...地磁指南针的冗余设计可以很大程度上减小外部磁干扰带来的指南针故障。另外视觉里程计也能给出航向的观测,两者互补能够提高航向的观测精度。
它使开发者能够在网页中调用IOS,Android,Palm,Symbian,WP7,WP8,Bada和Blackberry等智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap...;代码编写完之后,通过phonegap的build工具构建 采用w3c标准,包括但不限于HTML5、CSS3、JavaScript,比如说W3C标准中的命名方式等 不需要手机编程基础,只要会HTML就能做应用...你要做的就是把这些基础组件使用JavaScript和React的方式组合起来。能够在Javascript和React的基础上获得完全一致的开发体验,构建世界一流的原生APP。...(Learn once, write anywhere) 优点 能够在Javascript和React的基础上获得完全一致的开发体验,构建世界一流的原生APP 仅需学习一次,编写任何平台。...,根据产品需求和企业技术方向以及技术人员的具体情况,选择最合适的就是最好的。
但是,因为技术手段的落后,人们只能通过参照物来“佛系”定位。 ? 佛系定位,跟着感觉走 后来,有了罗盘、指南针,人类的定位能力不断进步,定位的精度也不断提升。 ?...车辆定位导航 那么,大家平时使用手机定位服务的时候,有没有想过这些问题: 手机到底如何实现定位的?工作原理是什么? 大家都知道卫星定位,那么,是不是只有卫星这一种定位方式?...通常,在城市中,一部手机会在多个基站的信号覆盖之下。手机会对不同基站的下行导频信号进行“测量”,得到各个基站的信号TOA(到达时刻)或TDOA(到达时间差)。...此外,在大型商场人流较多,找人会存在困难,小孩走失的话,也会需要定位。 ? 地下车库,非常考验一个人的方向感 在工业方面,也有定位需求,例如厂房内的生产线跟踪,资产管理等。...Wi-Fi室内定位 我们简单介绍几个比较典型的吧。 首先,说说蓝牙定位。 ? 蓝牙,大家都很熟悉,是一种短距离低功耗的无线传输技术。
但是在开发过程中同时使用了网页语言,所以开发成本与难度大大降低。也就是说Hybrid App兼具了Native App与Web App两者的诸多优点。...现在有更多的开发者在面临移动平台的选择,所以在这里根据开发中各个平台的使用情况,针对现在主流的平台进行分析。...主流移动平台分析 Hybrid App开发,现阶段主流的平台包括PhoneGap,AppCan,appMobi,Titanium等,它们基于webkit开源内核,使用HTML5 标准开发,适配机型简单,...Native接口比较丰富,通过封装的API可以直接访问硬件,比如说加速,相机,指南针,GPS,文件访问等。 2. 接口文档描述非常详细。 3....API文档为英文,并且比较简单,对国内用户使用有一定挑战。 2. 跟PhoneGap 同样,国外框架,技术支持困难。 3. 支持Android,iOS,黑莓平台。 4.
概述 现在一般android手机里都有 磁场传感器,它能检测到方向。我们做个指南针应用玩玩。 ?...思路 1.获得传感器服务 2.注册指定类型的传感器的监听事件 3.在监听事件获得消息后,调整我们试图的指南针(一般就是个图片)的方向。 实现 1.获得 SensorManager。...@Override public void onSensorChanged(SensorEvent event) { // 获取绕Z轴转过的角度...Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); // 设置动画的持续时间...ra.setDuration(200); // 设置动画结束后的保留状态 ra.setFillAfter(true)
大家好,又见面了,我是你们的朋友全栈君。 调用方向传感器开发简易指南针的原理其实很简单的:先准备一张指南针的图片,该图片上的方向指针指向北方。...接下来开发一个检测方向的传感器,程序检测到设备顶部绕Z轴转过多少度,让指南针图片反向转过多少度即可。...由此可见,指南针应用只要在界面中添加一张图片,并让图片总是反向转过方向传感器返回的第一个角度值即可。 layout/activity_main.xml界面布局代码如下: <?...currentDegree = -degree; } } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } } 指南针程序的关键代码就是下面程序中的代码...,该程序检测到手机绕Z轴转过的角度,然后让指南针图片反向转过相应的角度即可。
Joel Ivory Johnson在"Windows Mobile Power Management”中,给出了一个有意思的应用,那就是通过类似于指南针的方式来显示当前运动的方向。...可以设置离目的地一个特定距离时,发出声音通知。这就适合于那种熟悉路况,在到达目的地之前几分钟,给某人打电话通知的情形。不知道目前很多市场上的导航软件中有没有这种功能。程序的界面如下图1所示: ?...图1:程序运行界面 红色的罗盘,紫色的指针,就是表示目前的运动方向。这个参数可以从GPS接收机的返回数据中获得。...同样,我们可以使用Fake GPS来测试程序,方法和A Windows Mobile GPS Application Sample – Using Fake GPS中所描述的类似。...该程序在模拟器上的演示视频可以在Youtube上观看。如果有朋友有兴趣要自己修改的,可以从这里下载代码:GpsPerimeter.rar。
(来自 Pixabay 的图片) 但有一个问题。在现实中,左边缘和右边缘是同一个地点。而且,整个上边缘对应一个点,下边缘也是如此。整个对应关系都扭曲了。有没有试过摊平一个乒乓球?是的,确实没弄好。...指南针为地球上“每个”地点指定了一个矢量的现象叫作(切线)矢量场。风也可以看作是矢量场,因为它为每一个点指定了一个方向。我特别把“每个”加上引号,是因为当你站在磁北极或磁南极时,指南针会出错。...相反,在每一点,它可以有自己任意维度的矢量空间。这很重要,因为我们也想能在地球的每一个点上指定三维或99维矢量,而不仅仅是二维方向。场中每一个点上的矢量空间也被称作纤维丛。...我们没法定义一个统一的规范,而是不得不依赖多个规范和地图。至于为什么必须是这样,从平行化问题和毛球定理中,我们可以获得一些启发。 这自然意味着我们需要多个风向地图。...我们需要的是一种仅在流形附近包含卷积点的方法。我们确实有办法做到这一点。回想一下,指数图在我们的流形上做了微小的步骤来找到附近的点。所以让我们用它。
领取专属 10元无门槛券
手把手带您无忧上云