Android – API Карт Google v2 – Ошибки SupportMapFragment

Я пытаюсь запустить одно из моих приложений в Google Maps API v2 и работать с ним впервые. Я создал ключ для своего приложения в своем хранилище ключей, извлек хэш SHA1, приобрел ключ API, а затем сделал следующее в приложении … Я включил:

Google-игра-services.jar

А также импортировать библиотеку GooglePlayServices и добавить ее в качестве ссылки на проект. В моем Java-коде я просто загружаю ресурс макета.

public class Times extends Activity{ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.map); } } 

В макете (res / layout / map.xml), который я пытаюсь создать, у меня есть:

 <?xml version="1.0" encoding="utf-8"?> <fragment xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/map" android:name="com.google.android.gms.maps.SupportMapFragment" android:layout_width="fill_parent" android:layout_height="fill_parent" /> 

У меня также есть следующее заявление в моем манифесте:

 <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-permission android:name="tinyTech.us.ua.busschedule.permission.MAPS_RECEIVE" /> <permission android:name="tinyTech.us.ua.busschedule.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-feature android:glEsVersion="0x00020000" android:required="true" /> 

И объявлено в теге Application манифеста:

 <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="My_API_Key" /> 

Когда активность загружена, она вылетает со следующими ошибками в LogCat:

 FATAL EXCEPTION: main java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source) 

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

Solutions Collecting From Web of "Android – API Карт Google v2 – Ошибки SupportMapFragment"

Вам нужно расширить FragmentActivity если вы используете SupportMapFragment . Если вы используете MapFragment вы можете расширить Activity .

В вашем макете используйте

 <fragment xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" class="com.google.android.gms.maps.SupportMapFragment"/> 

вместо

 ... android:name="com.google.android.gms.maps.SupportMapFragment" ... 

Вы должны сделать это:

 public class MainActivity extends android.support.v4.app.FragmentActivity{ } 

Это сработало для меня: https://stackoverflow.com/a/13744765/1215098

Похоже, вы должны добавить сервисы Google Play в качестве модуля, а не только как .jar

Я решил эту ошибку, установив « Копировать проекты в рабочее пространство » при импорте библиотеки Google Play Services.
Подробнее здесь: http://developer.android.com/google/play-services/setup.html

У меня была такая же проблема с Google Play Services и все такое. Я включил в нее библиотеку и все, и проблема все еще сохранялась (« не удалось найти com.google.android.gms.maps.suportmapfragment »).

Я смог исправить это: Переход к свойствам проекта. Затем выберите Java Build Path . Затем выберите вкладку « Заказ и экспорт ». Затем убедитесь, что вы проверяете Android Dependencies и частные библиотеки Android

Надеюсь это поможет 🙂

Я добавил в файл манифеста <uses-library android:name="com.google.android.maps" /> . Это сработало для меня!

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

 <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> 

В моем случае я добавляю:

Файл -> Создать -> Google -> Активность в Google Картах

И я следую этому руководству .