2016-06-16 13 views
0

に受け入れられていない私は、次のXMLimport com.google.android.maps.MapActivity; Androidのメーカー

<?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 { 
} 

マップに次のように書いた次のインポートに赤です

0でも

import com.google.android.maps.MapActivity; 

とMapActivity

public class NeueRouteAufzeichnen extends MapActivity 

Google API(API 23)がインストールされていますが、 (Android SDKマネージャでチェックした) 廃止予定のものを使用しようとしていますか? 任意のヒントを事前に感謝したり

PSを助ける:これは

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' 
} 

私のbuild.gradleであり、私は私の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:自分のAndroidプロジェクトで最初のGoogleマップのアクティビティを、自分が行ったことを説明する方法で統合する方法を説明したので、このスレッドは私の視点からEDITした後も重複していません。さらに私はここに私のルート追跡ロジックを掲載します。

+0

ユーザーMapActivityにこのリンクをたどる 'com.google.android.gmsを:PLAY-サービスマップ:9.0.2' –

+0

を私はすでにそれを持っている。元の投稿のPSを参照してください。その他のヒント? –

+0

import 'com.google.android.gms.maps。* ' プロジェクトを再構築しようとします。 –

答えて

関連する問題