Nimm mal die jar heraus, führe ein neues Sync & Clean & Rebuild durch.
Entferne dann deine imports und lasse Diese mit ALT+ Enter neu setzen
habe ich alles gemacht, die MapView wurde per ALT+Enter erkannt, aber für MapActivity,MapController,OverlayItem wurde nichts angeboten.
Hier nochmal die komplette Activity:
package j8map.jung.mymapviewactivity;
import android.graphics.drawable.Drawable;
import android.location.Geocoder;
import android.os.Bundle;
import com.google.android.gms.maps.MapView;
import java.util.List;
import java.util.Locale;
/*
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.OverlayItem;
*/
public class MapViewActivity extends MapActivity {
private MapController mapController;
private MapView mapView;
private GeoPoint geoPoint;
private MyItemizedOverlay myItemizedOverlay; //eigene Nutzerklasse
private Drawable drawable;
private OverlayItem overlayItem;
private List mapOverlays;
private final String TAG = MapViewActivity.class.getSimpleName();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mapView = (MapView)findViewById(R.id.mapview);
mapOverlays = mapView.getOverlays();
drawable = this.getResources().
getDrawable(R.drawable.t1);
myItemizedOverlay = new MyItemizedOverlay(drawable, this);
// Eine MapController-Instanz ermitteln, um den anzuzeigenden
// Kartenausschnitt auf einen bestimmten Punkt zu positionieren
// und den Zoomfaktor festzulegen
mapController = mapView.getController();
Geocoder geo = new Geocoder(getApplicationContext(), Locale.GERMANY);
geoPoint = new GeoPoint((int)(50.110555 * 1E6),(int)(8.682222 * 1E6));
mapController.animateTo(geoPoint);
overlayItem = new OverlayItem(geoPoint, "Hallo", "Hier bin ich zu Hause");
myItemizedOverlay.addOverlay(overlayItem);
mapOverlays.add(myItemizedOverlay);
mapController.setZoom(10);
// Eine Karte kann auf unterschiedliche Weise angezeigt werden;
// als Satellitenbild oder als Stra?enansicht (der Standard)
mapView.setStreetView(true);
mapView.setBuiltInZoomControls(true);
}
// Auch die Methode isRouteDisplayed() der Oberklasse MapActivity
// muss implementiert werden; diese teilt Google mit, wie die
// Maps benutzt werden sollen; werden diese zur Anzeige von
// Reiserouten benutzt, sollte die Methode true zur?ckgeben
@Override
protected boolean isRouteDisplayed() {
return false;
}
}
und die build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "j8map.jung.mymapviewactivity"
minSdkVersion 14
targetSdkVersion 16
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.0.0'
compile 'com.google.android.gms:play-services-maps:10.2.0'
testCompile 'junit:junit:4.12'
}
Gruß Wicki
Abschließende Bemerkung:
Die fehlenden Klassen gehören zum Maps-API v1 und sind in v2 nicht mehr enthalten. Ich habe inzwischen das Problem mit Mitteln von Maps-API v2 gelöst.
— geändert am 26.02.2017, 19:02:03
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.