以 Primefaces gmap 中当前位置为中心

2024-03-17

是否可以使用 Primefaces 的 gmap 将 google 地图以客户端当前位置为中心?

我使用 JSF、JPA 和 primefaces 开发公共卫生信息系统。现场人员需要使用具有GPS功能的移动设备记录位置,以便将数据记录到数据库中进行分析。

我们可以用 Primefaces gmap 来做吗?

如果不可能,我可以使用哪些其他工具和技术来实现此功能?


是的,这很有可能,但这又取决于客户端的网络浏览器是否supports http://caniuse.com/geolocation HTML5 navigator.geolocation https://developer.mozilla.org/en-US/docs/WebAPI/Using_geolocation和/或您正在使用谷歌加载器API https://developers.google.com/loader/作为后备。

您可以通过以下方式获取对具体 GMap JavaScript 对象的引用widgetVarName.getMap() where widgetVarName is the <p:gmap widgetVar>。然后您可以使用GMap JavaScript API https://developers.google.com/maps/documentation/javascript/reference通常的方法,例如setCenter().

这是一个启动示例,假设您想通过 HTML5 检查地理位置navigator.geolocation并使用 Google Loader API 作为后备。

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>

<p:gmap widgetVar="w_gmap" type="HYBRID" center="41.381542, 2.122893" zoom="15" style="width:600px;height:400px" />       

<script type="text/javascript">
    if (navigator.geolocation) {
        checkGeolocationByHTML5();
    } else {
        checkGeolocationByLoaderAPI(); // HTML5 not supported! Fall back to Loader API.
    }

    function checkGeolocationByHTML5() {
        navigator.geolocation.getCurrentPosition(function(position) {
            setMapCenter(position.coords.latitude, position.coords.longitude);
        }, function() {
            checkGeolocationByLoaderAPI(); // Error! Fall back to Loader API.
        });
    }

    function checkGeolocationByLoaderAPI() {
        if (google.loader.ClientLocation) {
            setMapCenter(google.loader.ClientLocation.latitude, google.loader.ClientLocation.longitude);
        } else {
            // Unsupported! Show error/warning?
        }
    }

    function setMapCenter(latitude, longitude) {
        w_gmap.getMap().setCenter(new google.maps.LatLng(latitude, longitude));
    }
</script>

注:初始中心位置41.381542, 2.122893是复制粘贴自PrimeFaces 展示 http://www.primefaces.org/showcase/ui/gmapBasic.jsf我认为它代表了他们最喜欢的俱乐部的足球场:)你可以随意将其更改为其他任何东西,例如您自己公司的位置。

另请注意,出于安全原因,普通网络浏览器会要求最终用户确认共享位置。也可以看看谷歌浏览器文档 https://support.google.com/chrome/answer/142065?hl=en and Mozilla 火狐文档 http://www.mozilla.org/en-US/firefox/geolocation/就此主题而言。你cannot关闭这部分。最终用户必须明确接受该请求。如果最终用户不允许,它将停留在初始中心位置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以 Primefaces gmap 中当前位置为中心 的相关文章

  • 当前位置在 Google 地图中不起作用

    我在 swift 3 中集成了谷歌地图 当地图屏幕出现而不显示当前位置时 我在 plist 文件中添加了两个键 并设置了 CLLocationManager delegate 和 requestAlwaysAuthorization cla
  • 如何将注销的用户重定向到 Java EE/JSF 中的主页? [复制]

    这个问题在这里已经有答案了 我需要只允许登录用户访问我的应用程序的大部分页面 我正在使用 JSF 2 开发 Java 企业应用程序 有谁知道我该怎么做 也许有一个配置文件 我在主页中有一个登录组件 我希望用户在单击页面上除少数项目之外的任何
  • 数据表 JSF 中的延迟加载

    在我负责的许多项目中 没有什么比数据表中的延迟分页更好的了 JSF 是否有某种魔力 或者我说得对吗 它确实是一个很大的性能问题 如果你看过一些教程 几乎没有人关心惰性分页 假设您在支持 bean 上有 List 并且数据库中有 2000 行
  • Google Map Android API v2 无法在 Play 商店应用程序中显示地图

    我正在与Google Map Android API v2在 Android 应用程序中 它可以很好地与未签名的应用程序在不同的设备上 但是 当我签署 apk 并将应用程序上传到 Play 商店时 下载的应用程序显示白屏而不是地图 您使用什
  • Google 地图上的自定义路线/路径/道路

    我需要能够使用 V2 或 V3 最好是 3 创建在某种意义上忽略建筑物的路径 我试图创建一个 kml 文件来自己绘制所有路径 然后找到某种方法根据需要打开 关闭它们 例如 用户想要从 A 点前往 B 点 这些点之间有许多建筑物 用户可以实际
  • 如何在 Google 地图中创建自定义地图?

    我正在尝试创建一个包含我家地图的 Google 地图应用程序 卧室 浴室 厨房等 使用 GPS 我会找到我现在在家里的位置 并尝试获取到我卧室的方向 步行距离 您可以使用Google的API来获取方向 我需要知道的是 如何添加我家的自定义地
  • Richfaces 与 Internet Explorer 11 的兼容性问题

    我正在使用 RichFaces JSF 开发 Web 应用程序 该应用程序在 Safari Mozilla Chrome 和 IE 9 上的表现符合预期 但是 我在 IE 11 上遇到了严重的兼容性问题 当 rich modalPanel
  • JSF 中基于两个组件的组合的验证/转换

    我正在开发一个 JSF Web 应用程序 我需要使用周期性作为数据结构 以下是我使用的 Java 类 public class Periodicity implements Serializable private Integer valu
  • Google 地图位于活动的中间区域

    我正在使用 Android studio 2 1 2 我检查了一下 大多数问题要么使用旧版本的 Android studio 要么使用一些旧的类 这些类不适用于我的情况 从文件 gt 新项目 gt 我使用了选项Google Maps Act
  • Android SHA1 发布密钥库无法与 Google 地图配合使用

    我正在使用 Google Maps Android API 但遇到了一些问题 我正在使用 android studio 签署我的 apk 在 android keystore jks 创建一个 另外 我选择 发布 作为其中的类型 我已经使用
  • Google 地图 InfoBubble PixelOffset(从标记上方的默认位置移动)

    我正在尝试实现一个自定义 infoBubble 它的框打开到标记的侧面 而不是顶部的默认位置 事实证明这比预期的要困难 使用普通的infoWindow 您可以使用pixelOffset 请参阅此处文档 https developers go
  • 如何修复 [错误:flutter/lib/ui/ui_dart_state.cc(166)] 未处理的异常:NoSuchMethodError:在 null 上调用方法 '<='。错误?

    我收到此错误 但由于昨天相同的代码有效 所以我不知道如何修复它 这是一个测试应用程序 使用谷歌地图和 firebase firestore 来保存和查询地图上的标记 我想这可能和我安装的flutter有关系 所以我尝试使用稳定版和测试版 但
  • Ajax 如何在 JSF 上工作?

    我是 JSF 新手 但我对 ASP NET 及其 Ajax 功能有一些经验 我知道 JSF 有一些 Ajax 标签可以使用 Ajax 完成一些任务 但我想知道它是如何使用 Ajax 的 它使用 ASP NET 中的 ScriptManage
  • 如何在 google.maps.event.addListener 中使用它

    以下示例有效 但是当我尝试传递参数并使用this在该功能不起作用 Working google maps event addListener markers i click showInfoWindow function showInfoW
  • 如何将额外的文本添加到颤振谷歌地图自定义标记中?

    问题是如何将自定义谷歌地图标记上的文本重叠与代表车辆登记号的文本融合在一起 我尝试使用此方法将文本叠加在图标上 生成器 上下文 gt 但根本不被认可 class MapsDemo extends StatefulWidget overrid
  • Google 地图 API:忽略 DirectionService 请求中的季节性限制

    我目前正在开发一张地图 其中显示两点之间的最短路线 使用不同的交通工具 我注意到 有时 例如在冬季关闭的道路不会被考虑在内 我发现我可以使用方向服务 下面的代码 忽略高速公路 收费站和渡轮 但我一生都无法弄清楚如何 是否可以忽略季节性限制
  • 数据表中每一行的工具提示

    这个问题尖叫着是重复的JSF 2 0 Primefaces 2 x 数据表行的工具提示 https stackoverflow com questions 9980155 jsf 2 0 primefaces 2 x tooltip for
  • 谷歌地图 v3 API 鼠标悬停在多边形上?

    我正在使用 google v3 api 构建地图 因为它更快 本质上 它是一张包含约 30 个城市的区域地图 这些区域上有多边形 当用户将鼠标悬停在城市上时 我希望 fillColor 变亮 然后在鼠标移开时返回到正常状态 当用户单击时 它
  • JSF 2.0 Facelets 模板继承

    这是一个扩展的转发JSF 2 0 Facelets 嵌套模板继承 https stackoverflow com questions 5323937 jsf 2 0 facelets nested templates inheritance
  • Android 如何聚焦当前位置

    您好 我有一个 Android 应用程序 可以在谷歌地图上找到您的位置 但是当我启动该应用程序时 它从非洲开始 而不是在我当前的城市 国家 位置等 我已经在developer android com上检查了信息与位置问题有关 但问题仍然存在

随机推荐