2013-08-25 32 views
0

如果手機連接到Wifi或移動網絡,我想獲取我的位置。但是,如果手機在移動網絡上,事情不會像想象的那樣運行。直到如果我啓用GPS,什麼都沒有發生。我可以在沒有啓用GPS的情況下獲取位置,或者我必須這樣做?如果GPS是必須的,我如何警告用戶啓用GPS?在移動網絡上查找我的位置

private void setUpMap() { 
    // TODO Auto-generated method stub 
    mMap.setMyLocationEnabled(true); 

    LocationManager manager = (LocationManager)getActivity().getSystemService(FragmentActivity.LOCATION_SERVICE); 
    Criteria criteria = new Criteria(); 
    String provider = manager.getBestProvider(criteria, true); 

    myLocation = manager.getLastKnownLocation(provider); 

    latitude = myLocation.getLatitude(); 
    longitude = myLocation.getLongitude(); 
    LatLng latlng = new LatLng(latitude, longitude); 

    mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latlng, 14)); 
} 
+0

檢查我的答案。 – Harshid

回答

0

您有一個非常加載的問題。

Can i get location without enabling GPS or i have to do that ? 

當然可以。位置來自位置提供商。例子包括網絡,Wifi和GPS。你不需要全部3.只要有人會做。

And if GPS is must, how could i warn user to enable GPS ? 

您可以使用isProviderEnabled(字符串提供商)項下的方法LocationManager類,以檢查是否啓用了GPS提供商。如果你可以顯示一些消息和鏈接來啓用它。

要學習如何使您的應用程序位置知道,我建議您遵循官方說明here。多數民衆贊成我也是這樣學習的。

1

請參考Demo

您必須創建一個GPSTracker正在跟蹤您上次位置的服務。

我認爲如果您專注於演示,100%解決您的問題。

如果工作像魅力然後接受答案。

相關問題