2016-10-01 110 views
1

我正在開發一個應用程序,它會顯示我在地圖中的當前位置。我讀了關於它的當前位置,我需要在我的代碼中添加以下行,並且之後必須出現位置按鈕。但它不起作用。你可以幫幫我嗎?看不到我目前的位置,位置按鈕不會出現

mMap.setMyLocationEnabled(true); 

這是我的代碼。

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { 

    private GoogleMap mMap; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_maps); 
     // Obtain the SupportMapFragment and get notified when the map is ready to be used. 
     SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() 
      .findFragmentById(R.id.map); 
     mapFragment.getMapAsync(this); 
    } 

    @Override 
    public void onMapReady(GoogleMap googleMap) { 
     mMap = googleMap; 

     // Add a marker in Sydney and move the camera 
     LatLng sydney = new LatLng(-34, 151); 
     mMap.addMarker(new MarkerOptions() 
       .position(sydney) 
       .title("Marker in MyLocation") 
     ); 

     mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 40)); 
     if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { 
      // TODO: Consider calling 
      return; 
     } 
     mMap.setMyLocationEnabled(true); 
    } 
} 

Android清單:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.hakobm.currentlocation"> 

    <uses-permission android:name="android.permission.INTERNET"></uses-permission> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>  
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>  
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 

     <!-- Google Play Services --> 
     <meta-data 
      android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" /> 

     <meta-data 
      android:name="com.google.android.geo.API_KEY" 
      android:value="@string/google_maps_key" /> 

     <activity 
      android:name=".MapsActivity" 
      android:label="@string/title_activity_maps"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 
+0

爲什麼使用mMap.moveCamera如果你想要當前的位置? – Saveen

+0

如果我理解正確的話,它將攝像機移動到你所在的位置(或者如果你給了座標,你就可以) –

+0

是的,你是對的,但是如果你想使用MyLocationEnabled,那麼從他們的 – Saveen

回答

0

試用:
mMap.getUiSettings()setMyLocationButtonEnabled(真)。

+0

這不是一個答案 – Saveen