2014-08-29 42 views
0

在我的應用程序中,用戶選擇一個按鈕以檢索其位置。 如果這是他第一次在這家商店使用應用程序,應用程序將使用用戶位置設置商店位置,因此它必須非常準確。 然後,當用戶回到商店時,他將能夠知道商店和他自己的位置之間的距離。強制提供新的Google Fused位置

在這種情況下,我需要店鋪位置與posible一樣精確=>禁用Wifi提供商。 然後,當店鋪位置被填滿時,我可以使用wifi來獲取用戶位置,這樣我可以節省電池。

現在,當啓用wifi或3G時,獲取位置非常快,但距離它應該有250米的差距。 我無法承受這麼大的差異來找到一家商店。所以我需要強制用戶使用GPS提供商而不是WiFi。

我該怎麼辦? AFAIK,我只能改變優先級:

LocationRequest.PRIORITY_HIGH_ACCURACY 
LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY 
LocationRequest.PRIORITY_LOW_POWER 
LocationRequest.PRIORITY_NO_POWER 

我怎麼能強迫供應商是GPS ???

這裏是我的設置:

mLocationRequest = LocationRequest.create(); 

    /* 
    * Set the update interval 
    */ 
    mLocationRequest 
      .setInterval(LocationUtils.UPDATE_INTERVAL_IN_MILLISECONDS); 

    // Use high accuracy 
    mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); 

    // Set the interval ceiling to one minute 
    mLocationRequest 
      .setFastestInterval(LocationUtils.FAST_INTERVAL_CEILING_IN_MILLISECONDS); 

    mLocationClient = new LocationClient(this, this, this); 
+0

不太好。我發佈了另一個問題,可以幫助我更好地瞭解如何管理地理定位:http://stackoverflow.com/questions/28198377/can-anyone-explain-me-how-gps-tracking-is-working-in-android但我覺得缺少文檔... – 2015-02-23 17:46:36

回答

0

我半解決我的問題。

我無法限制提供者,但我可以在精確度上工作。

所以,當(準確度> 100)時,繼續尋找座標。

您對此有何看法?

+0

我遇到了同樣的問題。我正在更新精度,直到它不到20米,但不幸的是,這個位置是錯誤的。你有沒有成功改善這個? – tomasmcguinness 2015-02-23 10:39:02