Я хотел начать писать действие по отслеживанию маршрута для следующего xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mainLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ToggleButton
android:id="@+id/trackingToggleButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:textOff="Start Tracking"
android:textOn="Stop Tracking"/>
</FrameLayout>
и написал следующее в моем NeueRouteAufzeichnen.java
package com.noureddine_ouertani.www.wocelli50;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import java.util.Map;
import com.google.android.maps.MapActivity;
public class NeueRouteAufzeichnen extends MapActivity {
}
карты красного цвета в следующем импорте
import com.google.android.maps.MapActivity;
и MapActivity, а также в
public class NeueRouteAufzeichnen extends MapActivity
хотя API Google (API 23) установлены. (Я проверил в Android SDK Manager) Я пытаюсь использовать что-то устаревшее? Заранее спасибо за любые подсказки или помощь
PS: это мой build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.noureddine_ouertani.www.wocelli50"
minSdkVersion 19
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:support-annotations:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.android.support:support-v4:23.4.0'
compile 'com.google.android.gms:play-services:9.0.2'
compile 'com.google.android.gms:play-services-maps:9.0.2'
compile 'com.google.android.gms:play-services-location:9.0.2'
compile 'com.google.android.gms:play-services-base:9.0.2'
}
и я добавил следующее в свой AndroidManifest.xml
<uses-library android:name="com.google.android.maps"/>
РЕДАКТИРОВАТЬ: я изменил свой XML (activity_neue_route_aufzeichnen.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=".NeueRouteAufzeichnen"
android:name="com.google.android.gms.maps.SupportMapFragment" />
добавил это в мой AndroidManifest.xml
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />
после удаления из него этого
<uses-library android:name="com.google.android.maps"/>
и взял следующий класс в качестве основы для реализации моей логики отслеживания маршрута.
package com.noureddine_ouertani.www.wocelli50;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
public class NeueRouteAufzeichnen extends FragmentActivity implements OnMapReadyCallback {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_neue_route_aufzeichnen);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap map) {
// Add a marker in Sydney, Australia, and move the camera.
LatLng sydney = new LatLng(-34, 151);
map.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
map.moveCamera(CameraUpdateFactory.newLatLng(sydney));
}
}
Я уже протестировал эту новую активность, которая использует карты Google на моем смартфоне, и она работает. Теперь я могу сосредоточиться на отслеживании маршрутов. Я опубликую здесь свой код отслеживания маршрута, как только он заработает, чтобы извиниться за этот вопрос. :)
PS: я уже добавил ключ карты, полученный от Google, в свой файл strings.xml в папке значений. Спасибо всем вам за ваши ответы. Урок дня: MapActivity вышла! Фрагментактивность включена!
EDIT2: с моей точки зрения, этот поток больше не является дубликатом после EDIT, потому что я объяснил, как интегрировать ваше первое действие Google Maps в ваш проект Android, описав, что я сделал. Кроме того, я опубликую здесь свою логику отслеживания маршрута.
com.google.android.gms.maps.*
и попробуйте пересобрать свой проект - person Luca Nicoletti   schedule 16.06.2016import com.google.android.gms.maps.*;
принят. Однако, похоже, он не включает определение класса MapActivity, потому что MapActivity все еще красный вpublic class NeueRouteAufzeichnen extends MapActivity
- person Noureddine Ouertani   schedule 16.06.2016MapFragment
внутриActivity
- person Luca Nicoletti   schedule 16.06.2016