上次分享了移动端报表JS开发的系统概念,后来我又回去摸索了一些案例。之前接触到的FineReport的APP客户端可以用来打卡签到,就好奇研究了以下,这次就来聊一聊报表移动端开发如何实现定位功能。

1.解决思路

在用FineReport设计模板的时候添加一个按钮控件,点击该按钮的时候,获取当前地理位置,并将该位置信息复制给某个单元格,最后在客户端填报当前模板即可。

2.示例

实现如下图所示效果,点击地理位置按钮获取当前位置与当前时间,并显示在下方对应的单元格中:

2.1模板制作

打开设计器,新建一张模板,按照如下图所示样式设计模板,其中E2单元格为按钮控件,控件名称为地理位置,C5为下拉框控件,E5为时间控件:

2.2获取当前地理位置

获取当前地理位置有两种方式,一个是点击按钮获取地理位置,一个是直接打开模板的时候就获取位置,示例中,我们是想实现通过点击按钮获取地理位置。

通过点击按钮获取地理位置

打开按钮的控件设置,为该控件添加一个点击事件,如下图:

js如下:

1.    FR.location(function(status, message){//获取地理位置

2.if(status=="success"){

3.//定位成功,message返回经纬度值4.        FR.Msg.alert("当前位置是"+message);

5.        contentPane.setCellValue(2,3, message);

6.    }else{

7.//定位失败,message返回对应的错误信息8.        FR.Msg.alert(message);//定位失败9.    }10.    });

FineReport通过FR.location方法获取当前位置,如果status值为success,则表示获取地理位置成功否则定位失败,如果定位成功,则将返回的地理位置信息赋值给C4单元格。

但是该方法只在移动端有用,如果在web点击该按钮事件获取地理位置,则直接提示定位失败。

加载结束后获取当前位置

如果想在模板加载结束之后就获取到当前地理位置,那么只需要将上述代码添加到加载结束后事件中即可,打开模板,点击模板>模板web属性>填报页面设置,添加一个加载结束事件,如下图:

2.3获取当前时间

在模板中还需要将当前签到时间也赋值过去,所以还需要在按钮的点击事件中获取到当前时间,并赋值给E4单元格,js如下:

11.    var myDate=newDate();

12.    var mytime=myDate.getFullYear()+"-"+myDate.getMonth()+1+"-"+myDate.getDate()+""+myDate.getHours()+":"+myDate.getMinutes()+":"+myDate.getSeconds();//获取当前时间13.    contentPane.setCellValue(4,3, mytime);

按钮点击事件全部js如下:

14.    FR.location(function(status, message){//获取地理位置

15.if(status=="success"){

16.//定位成功,message返回经纬度值17.        FR.Msg.alert("当前位置是"+message);

18.        contentPane.setCellValue(2,3, message);

19.        var myDate=newDate();

20.        var mytime=myDate.getFullYear()+"-"+myDate.getMonth()+1+"-"+myDate.getDate()+""+myDate.getHours()+":"+myDate.getMinutes()+":"+myDate.getSeconds();//获取当前时间21.        contentPane.setCellValue(4,3, mytime);

22.

23.    }else{

24.//定位失败,message返回对应的错误信息25.        FR.Msg.alert(message);//定位失败26.    }27.    });

2.4效果查看

将该模板添加到数据决策系统的节点树上,其操作方法请查看添加模板,其中模板的预览方式为填报,如下图:

根据添加服务器章节介绍的操作步骤,用移动端登录该系统,访问该张模板,点击地理位置按钮获取当前地理位置和当前时间,如下图:

但是,FineReport获取到的地理位置是经纬度,如需要确定其具体位置,就需要另外转换。

移动端的开发还在持续学习中,感兴趣的朋友可以和我一起探讨研究。

posted on 2016-05-05 16:38 喝水居然长肉 阅读(26) 评论(0)  编辑  收藏

java获取移动端定位_移动端报表JS开发示例--获取定位相关推荐

  1. 移动端报表JS开发示例--获取定位

    上次分享了移动端报表JS开发的系统概念,后来我又回去摸索了一些案例.之前接触到的FineReport的APP客户端可以用来打卡签到,就好奇研究了以下,这次就来聊一聊报表移动端开发如何实现定位功能. 1 ...

  2. 移动端报表JS开发示例

    最近对移动端的报表开发颇有研究,细磨精算了好久,虽然到现在还是"囊中羞涩",但决定还是先抛砖引玉,拿点小干货出来和大家分享. 研究的工具是比较有代表性的FineReport. 1. ...

  3. 网站加入代码让网页以电脑端打开_移动端网站和pc端网站的异同点

    移动端网站和pc端网站的共性: 手机网站和电脑网站一样,都是需要有一个域名,一个存放源代码的空间,一套网站运行的源代码,访客通过在手机端输入域名访问. 移动端网站和pc端网站的区别: 电脑网站对应的屏 ...

  4. 用java代码取网名_【源码教程】iapp获取QQ昵称

    新建 module.mjava 界面:/* * 获取QQ昵称 * @Param qq QQ号码 */String getNick(String qq){ // 获取QQ昵称 if(sss(" ...

  5. java web中英翻译_中英文翻译简单web项目示例(3)

    我们上一篇初步体验了一把百度翻译api的魅力,由于分享作者是一位java程序员,所以下载的是百度翻译java语言开发包,这节主要分享介绍基于java web项目嵌入百度翻译api做个简单的中文翻译英文 ...

  6. js 调用android定位,基于html5+ 高德地图JS API使用安卓定位sdk用来进行定位

    使用Native.js打开Android的H5辅助定位 mui.plusReady(function() { if(plus.os.name == 'Android') { var AMapLocat ...

  7. java移动端接口测试_移动端质量体系之性能测试(上)

    目前应用越来越多,竞争也越来越激烈,那用户体验就变得越来越重要.曾经一份报告这么说: 71%用户希望在手机上打开网页能跟电脑一样快 5秒钟被认为是用户能忍受的最长响应时间,如果响应时间超过5秒,50% ...

  8. java窗口三栏布局_移动端的flex三栏布局的相关知识介绍(代码示例)

    本篇文章给大家带来的内容是关于移动端的flex三栏布局的相关知识介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 默认情况下先显示移动端,通过 @media 属性适配屏 ...

  9. java websocket修改为同步_服务端向客户端推送消息技术之websocket的介绍

    websocket的介绍 在讲解WebSocket前,我们先来看看下面这种场景,在HTTP协议下,怎么实现. 需求: 在网站中,要实现简单的聊天,这种情况怎么实现呢?如下图: ​ 当发送私信的时候,如 ...

最新文章

  1. Lyft推出一种新的实时地图匹配算法
  2. Linux下Tomcat的启动、关闭、杀死进程
  3. Android之给图片添加涂鸦(文字)
  4. 无法解析的外部符号 __imp__timeGetTime@0
  5. 【Linux】一步一步学Linux——chown命令(112)
  6. vue从入门到精通之进阶篇(四)模块化工具 webpack
  7. 文件服务器ping延时大,windowns 2008 ping 127.0.0.1延迟大的解决方法。
  8. 实时的毛发绘制 szlongman
  9. HTML5 Web Storage用法
  10. oracle if/else功能的实现的3种写法
  11. google海底光缆图_感受技术震撼:全球海底光缆分布图详解(附源地图链接)
  12. dom不刷新 vue 加数据后_vue 数据更新 dom不渲染
  13. keil中下载按钮和调试按钮灰掉了
  14. python聊天室(tkinter写界面,treading,socket实现私聊群聊查看聊天记录,mysql存储数据)
  15. 电脑配置挑选速成攻略
  16. 【天磊卫士安全预警】incaseformat蠕虫病毒预警
  17. Spark (一):大数据概述
  18. linux BT面板的安装
  19. webpy实时展示mysql数据库_webpy使用mysql数据库操作(web.database)
  20. 记录一次在线网页加密PDF解密过程

热门文章

  1. java中beautyeye_BeautyEye简明开发者指南
  2. 使用python处理wps表格_用python写wps的excel文件 | 学步园
  3. Spring Boot 与微服务从0到1的实践
  4. 数据库与信息管理课程设计——技术栈【Go+VUE+PGSQL+Redis】的托管培训中心信息管理系统
  5. 31条指令单周期cpu设计(Verilog)-(九)上代码→基本模块
  6. vue边缘不规则照片墙/图片墙(附开场动画)
  7. matlab simulink 汽车电磁式主动悬置设计和仿真
  8. WPF中的形状Shape与几何图形Geometry详解
  9. RxAndroid+Retrofit项目上手
  10. 爱迪生的复仇:直流电的崛起