1

我正在使用 Appcelerator Titanium 来构建我的移动应用程序(iphone + android)。我在他们的文档中找到了 Titan.geolocation,但我找不到任何方法,例如我们在 iOS 中使用的“startMonitoringForRegion”或“startMonitoringSignificantLocationChanges”。但它的属性定义为“ERROR_REGION_MONITORING_DENIED”,所以必须有一些区域监控方法。

那么它是不是在文档中定义还是我遗漏了什么。我尝试谷歌搜索但找不到它。

基本上,我想要的只是在用户进入特定区域时向用户显示一些警报,即使应用程序处于后台(就像我过去在 iOS 中使用 startMonitoringForRegion 所做的那样)。钛也有可能。请帮忙。

4

2 回答 2

1

“对于不需要定期位置事件流的应用程序,您应该考虑使用该startMonitoringSignificantLocationChanges方法来开始传递事件。这种方法更适合大多数只需要初始用户位置修复并且只需要更新的应用程序“当用户移动很远的距离时。此界面仅在检测到设备相关蜂窝塔发生变化时才提供新事件,从而降低更新频率并显着提高电源使用率。”

按照 Apple 定义的标准,您似乎只需要设置 ,Titanium.Geolocation.distanceFilter以便事件继续每 * 米触发一次

没有直接的文档,但是如果您查看 KS 资源,您会看到该geolocation.js文件使用了几个未记录的功能。我必须基本上复制它并删除我的应用程序不需要的东西。

https://github.com/appcelerator/KitchenSink/blob/master/Resources/examples/geolocation.js#L345

startMonitoringForRegion应该是相同的想法,但您需要按照本文档accuracy constant中的定义进行设置。

于 2011-04-18T16:45:04.693 回答
-1

您可以尝试将侦听器附加到regionChanged事件

http://developer.appcelerator.com/apidoc/mobile/latest/Titanium.Map.MapView-object

于 2011-04-11T22:05:29.590 回答