2011-04-11 163 views
1

我正在使用Appcelerator Titanium來構建我的移動應用程序(iphone + android)。 我在他們的文檔中發現了titanium.geolocation,但是我找不到任何方法,例如我們用於在iOS中查找的「startMonitoringForRegion」或「startMonitoringSignificantLocationChanges」。但它具有定義爲「ERROR_REGION_MONITORING_DENIED」的屬性,所以必須有一些區域監視方法。Appcelerator Titanium startMonitoringForRegion

所以它沒有在文檔中定義或我錯過了什麼。我試過谷歌搜索,但無法找到它。

基本上所有我想要的是當用戶進入特定區域時,即使當應用程序在後臺(就像我以前用iOS中的startMonitoringForRegion做到的那樣),向用戶顯示一些警報。鈦是可能的。請幫忙。

+0

我仍然無法找到任何完美的答案..可能有人來自appcelerator或專家與此..請幫助 – 2011-04-22 06:02:46

回答

1

「對於那些不需要定位事件的常規流的應用程序,你應該考慮使用startMonitoringSignificantLocationChanges方法來啓動事件的交付這種方法更適合於大多數只需要初始用戶位置修正的應用程序,只有在用戶移動了很長的距離時才需要更新,該接口只在檢測到設備關聯單元塔的變化時纔會提供新的事件,在更少的頻率更新和顯着更好的動力我們年齡。」

根據這個標準,蘋果定義它似乎所有你需要的是設置Titanium.Geolocation.distanceFilter,以便將事件繼續開火每*米

有,如果你檢查出的KS上沒有文檔直接然而資源你會看到geolocation.js文件使用了幾個沒有記錄的功能。我不得不基本上覆制它,並刪除我不需要的應用程序。

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

startMonitoringForRegion應該是相同的想法,但你需要設置accuracy constant在本documentation定義。

+0

是的,我肯定可以設置所有這些..但事情是「startMonitoringSignificantLocationChanges」和「startMonitoringForRegion」在後臺喚醒應用程序,即使應用程序已經被佔用,並且設備進入監控區域...但地理位置監聽器 – 2011-04-19 12:13:02

+0

的情況並非如此,我只是意識到,手機信號塔可能會在另一個1米內變化,或者可能在30米後發生變化,這取決於網絡的存在情況,所以我不能只設置距離過濾器並實現功能 – 2011-04-19 14:02:55

+0

https://github.com/appcelerator/KitchenSink/ blob/master/Resources/bg.js至於你的第一個評論,你可以把TiGeo事件放在後臺,但對於你的第二個,這似乎是一個錯誤的解決方案也... – bh88 2011-04-19 16:07:40

相關問題