我正在使用Appcelerator Titanium来构建我的移动应用程序(iphone + android)。 我在他们的文档中找到了titanium.geolocation,但我找不到像我们在iOS中查找的“startMonitoringForRegion”或“startMonitoringSignificantLocationChanges”这样的方法。但它的属性定义为“ERROR_REGION_MONITORING_DENIED”,因此必须有一些区域监控方法。
所以它没有在文档中定义,或者我错过了什么。我试过谷歌但却找不到它。
基本上我只想在用户进入特定区域时向用户显示一些警报,即使应用程序处于后台(就像我以前在iOS中使用startMonitoringForRegion一样)。钛也是如此。请帮助。
答案 0 :(得分:1)
“对于不需要常规位置事件流的应用程序,您应该考虑使用startMonitoringSignificantLocationChanges
方法来开始传递事件。这种方法更适合于大多数只需要初始用户位置修复,仅在用户移动很远的距离时才需要更新。此接口仅在检测到设备相关单元塔的更改时才会发送新事件,从而减少更新频率并显着提高功耗。“
根据Apple定义的标准,您似乎只需要设置Titanium.Geolocation.distanceFilter
,以便事件继续每隔*米发射一次
没有直接的文档,但是如果您查看KS资源,您会看到geolocation.js
文件使用了多个未记录的功能。我必须基本上复制它并删除我不需要的应用程序。
https://github.com/appcelerator/KitchenSink/blob/master/Resources/examples/geolocation.js#L345
startMonitoringForRegion
应该是相同的想法,但您需要设置此documentation中定义的accuracy constant
。
答案 1 :(得分:-1)
您可以尝试将听众附加到regionChanged
事件
http://developer.appcelerator.com/apidoc/mobile/latest/Titanium.Map.MapView-object