Bir Android uygulamasında Google map API v2 kullanarak basit bir harita görüntülemeye çalışıyorum. Map API Documentation talimatlarını takip ediyorum. Ama bence onMapReady
nedenini aramıyor. google-play-services_lib
sürüm 6587000
kullanıyorum. Telefonumun google-play-services_lib
sürümü 6587038
olduğuna inanıyorum.onMapHerhangi bir hata olmadan harita görüntülemiyorsa bile arama yapılmıyor
Google harita ilk kontrollerle çalışıyor. Birisi bu hatayı düzeltmeme yardımcı olabilir mi?
public class MapDisplay extends FragmentActivity
implements OnMapReadyCallback {
private GoogleMap mMap;
private Location mCurrentLocation;
private MarkerOptions mMarkerOptions ;
private MapFragment mMapFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.location_map);
/** not needed
mMapFragment = MapFragment.newInstance();
FragmentTransaction fragmentTransaction =
getFragmentManag
er().beginTransaction();
fragmentTransaction.add(R.id.map, mMapFragment);
fragmentTransaction.commit();*/
/**corrected code*/
MapFragment mapFragment = (MapFragment) getFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap map) {
toast("Map ready");
Log.d("--***** MAP ","::Map ready");
LatLng sydney = new LatLng(-33.867, 151.206);
map.setMyLocationEnabled(true);
map.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 13));
map.addMarker(new MarkerOptions()
.title("Sydney")
.snippet("The most populous city in Australia.")
.position(sydney));
}
private void toast(String text){
Toast toast = Toast.makeText(this, text, Toast.LENGTH_SHORT);
toast.show();
}
}
location_map.xml dosyası
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:name="com.google.android.gms.maps.MapFragment"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
Eklendi getMapAsync(). şimdi onMapReady çalışıyor. – SAN
@SAN: "getMapAsync() atma ve hata" - o zaman belki de orada yaşadığınız herhangi bir sorunla ilgili yardım almak için bir Yığın Taşması sorusu sormayı düşünmelisiniz. "Yani kullanmak zorundaydım" - yani? AFAIK, hala getMapAsync() 'yi çağırmanız gerekiyor. Dahası, şimdi * iki * MapFragment 'örneğiniz var. Statik bir 'MapFragment 'ile getMapAsync()' kullanımını gösteren örnek bir proje: https://github.com/commonsguy/cw-omnibus/tree/master/MapsV2/NooYawk – CommonsWare
Bazıları için yararlı olacaktır Başka bir deyişle,
Nepster