问题标签 [geofence]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 设置地理围栏时出现 UWP/C#“访问被拒绝”异常
我有一个 .NET 5 控制台应用程序,我在文档“.NET 5:使用目标框架名字对象选项”之后使用了该应用程序。这意味着我的项目文件目前看起来像这样:
然后我尝试使用new Geolocator().GetGeopositionAsync()
按预期工作的 Location Api。据我了解,只有当我的应用程序具有包标识时,我才能使用某些 UWP API。所以我创建了一个应用程序打包项目,将我的控制台应用程序引用为应用程序。我按照文档将整个项目打包为 msix 包。现在效果很好,我仍然可以按预期访问当前的地理位置。
但是,我遵循了在 UWP 中设置地理围栏的文档,一旦我尝试注册地理围栏甚至为触发的地理围栏注册事件处理程序,我就会得到一个
One or more errors occurred. (Access is denied. (0x80070005 (E_ACCESSDENIED)))
例外。我在清单文件中的功能定义如下:
在我尝试设置地理围栏或注册事件处理程序之前,我总是调用await Geolocator.RequestAccessAsync()
并且只有在此方法每次都返回 Allowed 时才继续执行该操作。这意味着这个问题的答案对我没有帮助。
是否有可能确保我定义能力的方式没有问题?例如,有没有办法在运行时检查我的能力?到目前为止,我没有找到关于该主题的任何内容。或者我的主要假设是否存在问题,即一旦我的控制台应用程序具有包 ID,因为它被打包为 msix,我就可以访问我无法访问的地理围栏等功能?
在检查了我是否可以通过调用 I 访问该位置之后,await Geolocator.RequestAccessAsync()
例如尝试执行以下代码:
并立即收到异常。
编辑:我现在也尝试在 UWP 应用程序中使用相同的代码。在那里,它就像一个魅力,我注意到我在执行时收到一个弹出窗口,RequestLocation
要求我授予应用程序访问该位置的权限。我从未在我的控制台应用程序中收到过类似的弹出窗口。我认为这可能是因为缺少 UI 线程。
我现在还尝试使用 WPF 应用程序而不是控制台应用程序来测试是否缺少 UI 线程可能是问题所在。但是,我在 WPF 应用程序(当然也打包为 .msix)中遇到了与控制台应用程序相同的问题。
android - 理论:如何在后台观察和发布状态/位置?
情况: 我是一名最近毕业的 IoT 开发人员 (c/cpp),被聘为一家小公司的移动应用程序(除其他外)工作。这个应用程序仅由我开发,是唯一的本地开发人员,并用 Kotlin 编写。所以我的技能是有限的,我对面向对象编程的理解也是有限的。
程序: 我的任务是开发一个应用程序来跟踪位置并在某些点周围创建地理围栏。这两个我都成功地暗示了。这两个功能都可以在屏幕锁定或应用程序移至后台时发挥作用。我正在使用 mutableLiveData 对象来收集信息并将其发送到“发布”函数。当应用程序在前台处于活动状态并且屏幕解锁时,这一切都有效。
问题: 只要应用程序处于活动状态,一切都可以正常工作,但是当移动到后台或屏幕锁定时,观察者似乎并没有真正将数据发送到 post 函数。当应用程序在前台再次激活时,它会执行此操作。我已经了解到,这就是 livedata 观察者的工作方式,我不知道这里有什么替代方案。
我在找什么: 我需要想办法在一个对象中收集不同的变量数据,当应用程序在后台或屏幕被锁定时,我可以发送到远程 HTTP 端点,比如 livedata 观察者,但用于后台活动.
node.js - 地理围栏数据计算
我有一种情况,我每 3 秒获取一次 gps 设备的数据。我正在使用 mongodb 来存储数据。我还有一个项目地理围栏数据,我在创建项目时已经存储了这些数据。现在,在一天结束时,我必须生成一个报告,例如设备在项目的地理围栏区域中进入和退出的次数。
那么你能告诉我使用地理空间查询的最佳方法吗?还告诉我系统和数据库架构,比如我需要如何存储我在 3 秒内获得的 gps 设备数据?
编码语言:NodeJS
数据库:MongoDB
azure - Azure Map 检查地理围栏不适用于 isAsync=true
https://atlas.microsoft.com/spatial/geofence/json?subscription-key={subsciptionkay}&api-version=1.0&deviceId=desi560004&udid=1aad5ed3-81a4-fbf9-3542-92cc13fda7a6&lat=34.453125&lon=39.095962936305476&searchBuffer=5&issyncAsyncA true&mode=EnterAndExit { "error": { "code": "BadRequest", "message": "请订阅异步事件以使用异步类", "innererror": { "code": "EventList" } } }
它正在使用 isAsync=false
ios - Ionic Geofence 插件在 Xcode for iOS 中不起作用
您好,我已经安装了 Ionic 原生地理围栏插件,根据其文档支持 Android 和 Ios。我的代码在 Android 中运行良好,但是当我为 ios 构建 Xcode 时,我在 Geofence 文件中出现 300 个错误(GeofencePlugin.swift、SwiftData.swift、SwiftyJson.swift)
我找到了一种解决方法,它说要替换这 3 个文件中的代码,但没有任何效果。
谁能帮我?
离子:
离子 CLI:6.11.7 (/usr/local/lib/node_modules/@ionic/cli) 离子框架:@ionic/angular 5.5.2 @angular-devkit/build-angular:0.1002.3 @angular-devkit/schematics: 10.2.0 @angular/cli:10.2.0 @ionic/angular-toolkit:2.3.3
电容器:
电容器 CLI:2.4.5 @capacitor/core:2.4.5
科尔多瓦:
Cordova CLI:10.0.0 Cordova 平台:无 Cordova 插件:没有列入白名单的插件(总共 1 个插件)
效用:
cordova-res:0.15.3 本机运行(可用更新:1.3.0):0.3.0
系统:
ios-sim:ios-sim/9.0.0 darwin-x64 node-v12.16.1 NodeJS:v12.16.1 (/usr/local/bin/node) npm:6.14.7 OS:macOS Catalina Xcode:Xcode 12.4 Build 12D4e
geofence - 我可以根据设备的位置为其他设备添加地理围栏吗?
目前,我正在开发两个 Android 应用程序,其中设备 A 用于获取位置(纬度和经度)并将其发送到 SQL 数据库,设备 B 用于从 SQL 数据库中获取设备 A 的位置并在谷歌上显示位置地图。之后,设备 B 的用户可以为设备 A 设置地理围栏并监控设备 A。因此,如果设备 A 进入或退出地理围栏,设备 B 将收到通知。
不幸的是,我只能为设备 B 的位置设置地理围栏,但不能为设备 A 的位置设置地理围栏。有谁能帮我解决这个问题??还是只能将地理围栏设置为同一设备?我已经搜索了几天,但找不到任何解决方案:(
感谢任何人可以提供任何建议!:)
email - 当有人在地理围栏外时如何发送邮件
所以我尝试为气枪创建一个地理围栏应用程序。所以地理围栏位置正在工作,但我想补充的另一件事是,如果用户在地理围栏之外,它会每分钟发送一封带有他名字的邮件。现在,它只是向用户发送通知,但我不知道如何让应用程序使用用户名发送邮件。我试图创建一个列表,其中包含将出现在屏幕上的区域之外的用户,但我没有成功。如果您有一些建议或想法让我的应用程序正常运行,请随时与我联系。这是我想添加邮件部分的通知代码。谢谢 !
android - Android中地理围栏半径中的多次呼叫问题
我在我的 ionic 应用程序 android 版本中面临有关地理围栏的问题。多次调用半径输出/输入条目。当一个人可以进入半径或从半径出去时,它应该正确调用一次。
我们也在使用事件总线。
在这里,我们在 android 文件中有代码
调用地理围栏
添加地理围栏
删除地理围栏
客户端调用请求如下
这是我们打印的一些日志,显示了多个调用
swift - CoreLocation 地理围栏未按预期工作,仅显示以前的地理围栏和过去的标识符。不更新
我正在尝试添加第二个区域。那个 Region2 没有出现,所以在我调试时我删除了我从 Region2 中拥有的所有内容,并将 Region2 的坐标放入我为 Region1 拥有的坐标中(按预期工作)。但是地理围栏从来没有移动过位置(它们在整个城市,没有重叠,它们的半径只有 100m)。当我在模拟器中移动我的位置时,即使我已经在城市中设置了 Region1 地理围栏,模拟器仍然会在我创建的原始地理围栏处显示“输入:这个地方”。
所以我继续调试 - 当我将 Region1 的标识符更改为“TEST TEST”时,它仍然会打印出“This Place”,即使我的任何其他文件中都没有“This Place”。以前有人发生过这种情况吗?如果是这样,你是如何解决的?
我使用 locationManager 函数 didExit/didEnterRegion 并打印出“Entered: (region.identifer)”或“Exited: (region.identifier)”只是为了测试我是进入还是退出该区域。
编辑:我尝试注释掉这整个代码块,即使我这样做了,模拟器仍然显示“输入:这个地方”。我不是从代码中的其他任何地方调用它。
android - 如何在设备重启时重新注册地理围栏?在用户解锁设备之前(在 LOCKED_BOOT_COMPLETED 中)
我试图在设备重启后重新注册地理围栏。ACTION_BOOT_COMPLETED(用户解锁设备后)非常好。但它不适用于 ACTION_LOCKED_BOOT_COMPLETED(在用户解锁设备之前)。有没有办法在用户解锁设备之前重新注册我的地理围栏?当我尝试时,它给了我以下错误。