2013-04-19 3 views
3

Я рассмотрел почти каждый вопрос относительно этой ошибки и до сих пор не смог ее отслеживать.«Не удалось загрузить карту. Не удалось связаться с серверами Google».

Вот мой манифест:

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

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="16" /> 

    <permission 
     android:name="com.example.cs2110_final.TheHunt.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature" /> 

    <uses-permission android:name="com.example.cs2110_final.permission.MAPS_RECEIVE" /> 
    <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="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
    <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" > 
     <activity 
      android:name="com.example.cs2110_final.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> 
     <activity 
      android:name="com.example.cs2110_final.TheHunt" 
      android:label="@string/title_activity_the_hunt" > 
     </activity> 

     <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="(API key edited out)" /> 
    </application> 

</manifest> 

Вот мой код активность:

mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap(); 
mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID); 

А вот ссылка XML на карте:

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

Я прошел через весь API три раза сейчас и не повезло. Каждое разрешение, которое нужно поместить в манифест, было, насколько я могу судить (даже подлый GPS_Services). Есть идеи? Заранее благодарю за любую помощь!

Редактировать: вот вывод LogCat. Это происходит, после чего повторяются многочисленные повторы «Не удалось загрузить карту ...»

04-19 13:59:03.108: D/dalvikvm(26070): GC_CONCURRENT freed 252K, 6% free 7534K/7940K, paused 4ms+7ms, total 29ms 
04-19 13:59:03.138: D/libEGL(26070): loaded /system/lib/egl/libEGL_tegra.so 
04-19 13:59:03.148: D/libEGL(26070): loaded /system/lib/egl/libGLESv1_CM_tegra.so 
04-19 13:59:03.168: D/libEGL(26070): loaded /system/lib/egl/libGLESv2_tegra.so 
04-19 13:59:03.198: D/OpenGLRenderer(26070): Enabling debug mode 0 
04-19 13:59:05.968: D/dalvikvm(26070): GC_CONCURRENT freed 301K, 6% free 7654K/8108K, paused 3ms+3ms, total 21ms 
04-19 13:59:06.048: D/dalvikvm(26070): GC_CONCURRENT freed 216K, 5% free 7877K/8248K, paused 3ms+2ms, total 29ms 
04-19 13:59:06.128: D/dalvikvm(26070): GC_CONCURRENT freed 309K, 6% free 8079K/8540K, paused 3ms+3ms, total 26ms 
04-19 13:59:06.128: D/dalvikvm(26070): WAIT_FOR_CONCURRENT_GC blocked 5ms 
04-19 13:59:06.128: D/dalvikvm(26070): WAIT_FOR_CONCURRENT_GC blocked 5ms 
04-19 13:59:06.128: D/dalvikvm(26070): WAIT_FOR_CONCURRENT_GC blocked 6ms 
04-19 13:59:06.128: D/dalvikvm(26070): WAIT_FOR_CONCURRENT_GC blocked 6ms 
04-19 13:59:06.198: D/dalvikvm(26070): GC_CONCURRENT freed 250K, 5% free 8330K/8736K, paused 2ms+2ms, total 24ms 
04-19 13:59:06.198: D/dalvikvm(26070): WAIT_FOR_CONCURRENT_GC blocked 8ms 
04-19 13:59:06.258: D/dalvikvm(26070): GC_CONCURRENT freed 317K, 6% free 8527K/8996K, paused 2ms+3ms, total 25ms 
04-19 13:59:06.258: D/dalvikvm(26070): WAIT_FOR_CONCURRENT_GC blocked 10ms 
04-19 13:59:06.258: D/dalvikvm(26070): WAIT_FOR_CONCURRENT_GC blocked 10ms 
04-19 13:59:06.378: D/dalvikvm(26070): GC_CONCURRENT freed 271K, 5% free 8689K/9128K, paused 2ms+6ms, total 31ms 
04-19 13:59:06.378: D/dalvikvm(26070): WAIT_FOR_CONCURRENT_GC blocked 13ms 
04-19 13:59:06.398: D/dalvikvm(26070): GC_FOR_ALLOC freed 283K, 8% free 8558K/9260K, paused 23ms, total 23ms 
04-19 13:59:06.438: D/dalvikvm(26070): GC_FOR_ALLOC freed 303K, 8% free 8566K/9260K, paused 26ms, total 26ms 
04-19 13:59:06.478: D/dalvikvm(26070): GC_FOR_ALLOC freed 325K, 8% free 8567K/9260K, paused 25ms, total 25ms 
04-19 13:59:06.518: D/dalvikvm(26070): GC_FOR_ALLOC freed 304K, 8% free 8568K/9260K, paused 25ms, total 25ms 
04-19 13:59:06.538: E/Google Maps Android API(26070): Failed to load map. Could not contact Google servers. 
04-19 13:59:06.598: D/dalvikvm(26070): GC_CONCURRENT freed 381K, 8% free 8579K/9260K, paused 6ms+4ms, total 51ms 
+0

Вы проверили, что устройство может получить доступ к Интернету? – tbkn23

+0

@tbkn Да, может. Кроме того, все разрешения доступа к местоположению и еще не установлены на «on». – user2300371

+0

Это исключение, которое вы видите? Можете ли вы добавить logcat? – tbkn23

ответ

0

Вы проверили правильные услуги включены? Однажды у меня была аналогичная проблема, и мой вопрос был случайным образом включен Google Maps API v2 вместо Google Maps Android API v2.

Проверьте, что у вас включен правильный API API карт Google для Android, который равен Google Maps Android API v2.

0

Как выглядит ваша проблема эти два разрешения:

<permission 
    android:name="com.example.cs2110_final.TheHunt.permission.MAPS_RECEIVE" 
    android:protectionLevel="signature" /> 

<uses-permission android:name="com.example.cs2110_final.permission.MAPS_RECEIVE" /> 

Который должен быть идентичным с точки вашего имени пакета, то есть, если в одном Вы писали:

com.example.cs2110_final 

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

<permission 
    android:name="com.example.cs2110_final.permission.MAPS_RECEIVE" 
    android:protectionLevel="signature" /> 

<uses-permission android:name="com.example.cs2110_final.permission.MAPS_RECEIVE" /> 

Кроме того, сделать что вы следуете все стадии получения ключа API, вы можете следовать этому руководству, я написал на эту тему:

Google Maps API V2 Key

Еще одна проблема, которую я вижу в вашем коде является тот факт, что вы мин целевой API версии 8 (android:minSdkVersion="8"), поэтому вы должны использовать SupportMapFragment и FragmentActivity, а не MapFragment и простой Activity, как вы сейчас делаете. Но, насколько мне известно, это не должно ничего делать с проблемой, с которой вы сейчас сталкиваетесь.

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

Google Maps API V2

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