2013-04-09 3 views
1

Я пробовал каждый пример, который я видел в Интернете о Google Map и Android, но все они не работали.Android и Google Map v2

Я пробовал на эмуляторе и на реальном устройстве, но все это дало мне ошибку о том, что фрагмент и класс не найдены.

Я импортировал приложение Google Play для добавления в проект, поместил ключ API Google, но все еще не работал.

Это последний пример, который я использовал:

googlemapv2.java

package com.example; 

import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 

public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 


    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

} 

activity_main.xml

<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".MainActivity" > 

    <TextView 
     android:id="@+id/header" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/hello_world" /> 

    <fragment 
     android:id="@+id/map" 
     android:name="com.google.android.gms.maps.MapFragment" 
     android:layout_below="@+id/header" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     /> 

файл манифеста

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="12" 
     android:targetSdkVersion="17" /> 

    <permission 

     android:name="com.example.permission.MAPS_RECIEVE" 
     android:protectionLevel="signature"/> 

    <uses-permission android:name="com.example.permission.MAPS_RECIEVE" /> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 


    <uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 

     <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="API key"/> 
     <activity 
      android:name="com.example.MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

ответ

1

Если вы получающий fragment/class not found error то проблема, вероятно, за отсутствие хорошей ссылки в google-play-services библиотеки, как MapFragment является частью этой библиотеки:

Убедитесь, что ваша Android Dependencies папка (blue) держать google-play-services(orange) внутри вы найдете com.google.android.gms.maps пакет (green) что имеет MapFragment класс (red):

enter image description here

Если это не так, вы можете проверить первые 3 шага этого блога я написал, чтобы получить и идеи о том, как правильно ссылаться на этот пакет:

Google Maps API V2

+0

вы имеете в виду пакет Google Play поврежден ?? ? но он имеет последнее обновление ... так как исправить эту проблему ?? – user2254979

+0

см. Обновленный ответ. –

+0

Странно, что у меня нет google_play .jar в android dependecies, но я импортировал его в проект – user2254979