2016-06-16 2 views
0

Я хотел начать писать отслеживание маршрута деятельность на следующий XMLimport com.google.android.maps.MapActivity; не принято в Android Studio

<?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 (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"/> 

EDIT: Я изменил мой 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 отсутствует! В FragmentActivity есть!

EDIT2: Этот поток уже не дублируется после EDIT с моей точки зрения, потому что я объяснил, как интегрировать свою первую активность в Картах Google в своем проекте Android, описав, что я сделал. Кроме того, я отправлю логику отслеживания маршрутов здесь.

+0

добавить это в build.gradle файла приложение компиляцию 'com.google.android.gms: играть-сервисы карта: 9.0.2' –

+0

я уже иметь это. Смотрите PS в исходном посте. Любые другие намеки? –

+0

использовать import 'com.google.android.gms.maps. *' И попытаться восстановить проект –

ответ

Смежные вопросы