2016-06-11 74 views
0

我正在開發一個應用程序的Android與谷歌地圖。問題是,當我在谷歌地圖上激活「setMyLocationEnabled」時,它將我的位置設置到香港,但我在葡萄牙。但locationManager給出的位置給了我正確的位置。有沒有一種方法來定義我的位置是「setMyLocationEnabled」上locationManager的位置?在谷歌地圖上定義我的位置setMyLocationEnabled eclipse

這使我有我的正確位置:

Criteria criteria = new Criteria(); 
     Location myLocation = locationManager.getLastKnownLocation(locationManager.getBestProvider(criteria, false)); 

     Lat = myLocation.getLatitude(); 
     Long = myLocation.getLongitude(); 

     locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 20000, 1, this); 

但這:

googleMap.setMyLocationEnabled(true); 

說,我在香港時,我actualy是在葡萄牙。

如何定義「setMyLocationEnabled」必須在locationManager的同一位置開始,並將藍點放在該位置上?

回答

0

在使用My Location layer,請注意是說,

使我的位置層之前,你必須確保你有所需的運行位置的權限。

要麼粗略位置權限:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.myapp" > 
    ... 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
    ... 
</manifest> 

或者精細位置權限:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.myapp" > 
    ... 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
    ... 
</manifest> 

然而,如在Making Your App Location-Aware

Google Play services location APIs討論是優選的過Android框架位置AP是(android.location)作爲向您的應用添加位置感知的一種方式。如果您目前正在使用Android框架位置API,強烈建議您儘快切換到Google Play服務位置API。