Bingung sama Judulnya? :D
Begini ceritanya, saat membuat peta di Android dengan mode Map, kemudian kita beri menu untuk berpindah mode peta, yaitu Mode Street (Map) dan Satelit.
Awalnya pada mode Map, masih biasa-biasa saja, kemudian berpindah ke mode Satelit, tetap normal. Setelah dipindah ke mode Map lagi, dan peta di geser, disinilah letak masalahnya, peta terkotak-kotak kosong. Entah apa yang salah, ilmuku belum nyampe.
Ini gambarnya:itu ada kotak2 kosong dengan tanda silang |
Ini kalo mau liat Source Codenya.
package com.arliando.mapdashboard; import java.util.Iterator; import java.util.List; import com.google.android.maps.GeoPoint; import com.google.android.maps.MapActivity; import com.google.android.maps.MapView; import com.google.android.maps.OverlayItem; import android.content.Context; import android.graphics.drawable.Drawable; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; public class PetaActivity extends MapActivity { private MapView mapView; private LocationManager locManager; private LocationListener locListener; // Dipanggil saat pertamakali Aplikasi dijalankan public void onCreate(Bundle saveInstanceState) { super.onCreate(saveInstanceState); setContentView(R.layout.peta_layout); mapView = (MapView) findViewById(R.id.mapView); initMap(); initLocation(); } private void initLocation() { // TODO Auto-generated method stub locManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); locListener = new LocationListener() { @Override public void onStatusChanged(String arg0, int arg1, Bundle arg2) { // TODO Auto-generated method stub } @Override public void onProviderEnabled(String arg0) { // TODO Auto-generated method stub } @Override public void onProviderDisabled(String arg0) { // TODO Auto-generated method stub } @Override public void onLocationChanged(Location newLocation) { // Dijalankan Apabila Koordinat berubah tampilkanPosisiKeMap(newLocation); }; private void tampilkanPosisiKeMap(Location newLocation) { List overlays = mapView.getOverlays(); // 1. Remove Old Overlay if (overlays.size() > 0) { for (Iterator iterator = overlays.iterator(); iterator.hasNext();) { iterator.next(); iterator.remove(); } } // 2. transform the location to a geopoint GeoPoint geopoint = new GeoPoint( (int) (newLocation.getLatitude() * 1E6), (int) (newLocation.getLongitude() * 1E6)); // 3. initialize icon Drawable icon = getResources().getDrawable(R.drawable.market); icon.setBounds(0, 0, icon.getIntrinsicWidth(), icon.getIntrinsicHeight()); // 4. Buat Overlay dan menampilkannya MyItemizedOverlay overlay = new MyItemizedOverlay(icon); OverlayItem item = new OverlayItem(geopoint, "My Location ",null); overlay.addItem(item); mapView.getOverlays().add(overlay); // 5. Pindah Ke Lokasi mapView.getController().animateTo(geopoint); // 6. Redraw Map mapView.postInvalidate(); } }; locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 1000, locListener); } public void initMap() { // TODO Auto-generated method stub // zoom peta mapView = (MapView) findViewById(R.id.mapView); mapView.setBuiltInZoomControls(true); mapView.getController().setZoom(15); // mapView.setStreetView(isLocationDisplayed()); <--barusan di comment } @Override protected boolean isRouteDisplayed() { // TODO Auto-generated method stub return false; } public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); // MenuInflater oMenu = getMenuInflater(); // oMenu.inflate(R.id.mapView, menu); menu.add(0, 0, 0, "Street Mode"); menu.add(0, 1, 1, "Satelite Mode"); return true; } public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case 0: mapView.setStreetView(true); mapView.setSatellite(false); mapView.invalidate(); return true; case 1: mapView.setSatellite(true); mapView.setStreetView(false); mapView.invalidate(); return true; } return false; } }
masalahnya sama nih.punya gw udah ga kotak2 lagi setelah setStreetView diapus. cmiiw.
BalasHapusswitch (item.getItemId()) {
case 0:
mapView.setSatellite(false);
mapView.invalidate();
return true;
case 1:
mapView.setSatellite(true);
mapView.invalidate();
return true;
}
Terimakasih Mbak Dita udah berbagi ilmunya.. :)
HapusBerhasil... Alhamdulillaah..
klo map nya ga muncul trus yang kliatan cuma kotak kotak aja (ga berbentuk map sma skali) itu gmn ya?
Hapusko' saya malah ga nongol petanya yaa mba n mas broh??
BalasHapusmohon pencerahannya donk..
Masalahnya dimana Gan? Coba periksa Logcatnya..
HapusThank Gan, btw Aplikasinya ga dimasukin di Play Store gan?
BalasHapusgan saya tanya,,peta ku tdk muncul,hanya muncul kotak2 putih saja,,itu bagaimana solusinya gan???
BalasHapusCek package namenya yang di android manifest gan, yang ada permission udah pas atau belum sm package yang berisi activity untuk nampilin petanya?
Hapus