2016-07-09 8 views

Antwort

0

sollten Sie verwenden die getMapAsync Methode statt getMap:

activity_maps.xml

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/map" 
    tools:context=".MapsActivity" 
    android:name="mypackage.MyMapFragment" /> 

mypackage.MyMapFragment.java

public class MyMapFragment extends SupportMapFragment implements OnMapReadyCallback{ 
    GoogleMap mMap; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     getMapAsync(this);; 
    } 

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

     mMap.addMarker(new MarkerOptions().position(new LatLng(40, -4)).title("My Marker")); 
     mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(40, -4), 13)); 
    } 
} 

MapsActivity.java

public class MapsActivity extends FragmentActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_maps); 
    } 
} 
0

können Sie die Google Play service Versionsnummer angeben, indem Sie die folgende Erklärung im <application> Element AndroidManifest.xml Zugabe. Dies bettet die Version der Google Play-Dienste ein, mit denen die App kompiliert wurde.

Die getMap() Methode ist bereits veraltet. Sie sollten public void getMapAsync (OnMapReadyCallback callback) Methode verwenden. Sie legt ein Callback-Objekt fest, das ausgelöst wird, wenn die Instanz GoogleMap zur Verwendung bereit ist.

Verwandte Themen