2016-05-10 4 views
0

Also ich habe diese: Datei Build.gradle:Google Maps auf Android Studio nicht Markierung der LatLng I codiert

Kompilierung 'com.google.android.gms: play-Dienste: 4.2.42'

Manifest:

<uses-permission android:name="com.example.angyy.home3.permissions.MAPS_RECEIVE"/> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 

<meta-data android:name="com.google.android.maps.v2.API_KEY" 
      android:value="(my key)"/> 

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

Main:

map=((MapFragment) getFragmentManager().findFragmentById(R.id.fragment1)).getMap(); 
      MarkerOptions k = new MarkerOptions() 
        .position(new LatLng(40.6453157,-7.9209911)) 
        .title("Escola Superior Tecnologia Viseu") 
        .icon(BitmapDescriptorFactory.fromResource(R.drawable.estvfoto)) 
        .draggable(true).snippet("Near something something"); 
      map.addMarker(k); 
      map.setMapType(GoogleMap.MAP_TYPE_NORMAL); 
      map.setMyLocationEnabled(true); 
      map.getUiSettings().setZoomControlsEnabled(true); 
      map.getUiSettings().setZoomGesturesEnabled(true); 
      map.getUiSettings().setCompassEnabled(true); 
      map.getUiSettings().setMyLocationButtonEnabled(true); 
      map.getUiSettings().setRotateGesturesEnabled(true); 
      map.getUiSettings().setTiltGesturesEnabled(true); 

      CameraPosition cameraPosition = new CameraPosition.Builder().target(new LatLng(40.6453157,-7.9209911)).zoom(15).build(); 

      map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); 

die Karte zeigt, und die Gesten sind worki ng, aber es geht nicht an den Ort, den ich dort hingelegt habe. Was vermisse ich? (Keine Fehler ...)

+0

'animateCamera' kann abgebrochen werden, wenn der Benutzer mit der Karte interagiert, bevor die Animation beendet wurde. Wenn Sie dies verhindern möchten, können Sie 'moveCamera' verwenden (die Bewegung ist sofort). Zentriert Ihre Karte den gewünschten Ort, wenn Sie 'movecamera' verwenden? – antonio

+0

'getMap' ist bereits veraltet. Warum immer noch benutzen? –

+0

Überprüfen Sie diese http://stackoverflow.com/questions/31371865/replace-getmap-with-getmapasync –

Antwort

0

Wenn Sie dies innerhalb OnCreate-Methode tun, dann tun Sie dies.

onCreate(){ 

     try{ 
      initialiseMap(); 
     }catch(Exception e){ 
      e.printStackTrace(); 
     } 
} 




public void initialiseMap() { 



    if (googleMap == null) { 
     googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap(); 

     //Toast.makeText(getApplicationContext(),"Location"+lattitude+"/n"+longitude,Toast.LENGTH_SHORT).show(); 

     MarkerOptions marker = new MarkerOptions().position(new LatLng(YOUR CO-ORDINATES)).title("Location"); 
     googleMap.addMarker(marker); 
     CameraPosition cameraPosition = new CameraPosition.Builder().target(new LatLng(lattitude,longitude)).zoom(12).build(); 
     googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); 
     Toast.makeText(getApplicationContext(),"Location"+lattitude+"/n"+longitude,Toast.LENGTH_SHORT).show(); 

     // check if map is created successfully or not 
     if (googleMap == null) { 

      Toast.makeText(getApplicationContext(), 
        "Sorry! unable to create maps", Toast.LENGTH_SHORT) 
        .show(); 
     } 
    } 
} 

@Override 
    protected void onResume() { 
     super.onResume(); 
     initializeMap(); 
    }