2014-10-18 4 views
0

Я новичок в программировании для Android. Я работаю над Google Maps Api. Я выполнил все шаги, которые помогут интегрировать Googel Api в проект и как добавить сервисы google play в качестве справочной библиотеки.java.lang.NoSuchMethodError: com.boom.geolocationbased.MapView.getFragmentManager

Но когда я пытаюсь запустить свой проект на своем устройстве, он показывает мне эту ошибку.

10-18 18:19:04.742: E/AndroidRuntime(8003): java.lang.NoSuchMethodError:com.boom.geolocationbased.MapView.getFragmentManager 

Мой манифест файл:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.boom.geolocationbased" 
android:versionCode="1" 
android:versionName="1.0" > 
<uses-permission android:name="com.example.googlemaps.permission.MAPS_RECEIVE" /> 
<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="17" /> 
<permission 
    android:name="com.boom.geolocationbased.permission.MAPS_RECIEVE" 
    android:protectionLevel="signature" /> 

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
<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="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
<uses-permission android:name="com.boom.geolocationbased.permission.MAPS_RECIEVE"/> 

<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" > 


    <activity 
     android:name="com.boom.geolocationbased.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> 
    <meta-data 
    android:name="com.google.android.maps.v2.API_KEY" 
    android:value="AIzaSyDHe4z6aw_UZbOM9fSLzucg_UfaOoDuJic"/> 
    <meta-data 
    android:name="com.google.android.gms.version" 
    android:value="@integer/google_play_services_version" /> 
    <service android:name="GPSTracker"></service> 
    <activity android:name="MapView"></activity> 

</application> 

</manifest> 

and here is my xml file for my mapactivity 

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

И код, где я получил ошибку

try{ 
    if(googleMap == null){ 
     MapFragment fm = (MapFragment)getFragmentManager(). 
       findFragmentById(R.id.map); 
     googleMap = fm.getMap(); 

    } 

Пожалуйста, кто может помочь мне узнать, что случилось с моим кодом?

Спасибо.

+0

Вы уверены, что область видимости функции существует? –

+0

Да! он получил исключение из-за этого кода, о котором я упомянул выше в своем вопросе. –

+0

Я написал этот код в методе oncreate, это нормально или мне нужно сделать что-то еще? –

ответ

1

Чтобы получить GoogleMap, попробуйте вместо этого:

GoogleMap googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap(); 
+0

Я сделал это тоже .... но каждый раз у меня была эта ошибка .. есть ли проблемы с моей библиотекой служб google? –

+1

Нет очевидных причин, но измените способ указания имен «MapView» на «com.boom.geolocationbased.MapView» или «.MapView» и не используйте ключевые слова при определении пользовательских имен для действий. –

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