2013-12-14 4 views
0

Я пытаюсь отобразить карту google на Android 2.3. Я последовал шаги с hereПустой GoogleMap на реальном устройстве Android 2.3

Я использую Android Studio 0.3.7 Я получаю изображение, похожее на this

MainActivity.java:

package com.Greek.Market; 
import android.support.v4.app.FragmentActivity; 
import android.support.v4.app.Fragment; 
import android.os.Bundle; 
import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.SupportMapFragment; 
public class MainActivity extends FragmentActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 
} 

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" 
tools:context=".MainActivity" > 

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

Manifest:

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

    <uses-sdk 
     android:minSdkVersion="10" 
     android:targetSdkVersion="19" /> 

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

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

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

     <activity 
      android:name="com.Greek.Market.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> 


    <permission 
     android:name="com.Greek.Market.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature"/> 
    <uses-permission android:name="com.Greek.Market.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature"/> 

    <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"/> 
    <!-- The following two permissions are not required to use 
     Google Maps Android API v2, but are recommended. --> 
    <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"/> 

</manifest> 

build.grandle:

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.6.+' 
    } 
} 
apply plugin: 'android' 

repositories { 
    mavenCentral() 
} 

android { 
    compileSdkVersion 19 
    buildToolsVersion "19.0.0" 

    defaultConfig { 
     minSdkVersion 10 
     targetSdkVersion 19 
    } 
    buildTypes { 
     release { 
      runProguard false 
      proguardFile getDefaultProguardFile('proguard-android.txt') 
     } 
    } 
    productFlavors { 
     defaultFlavor { 
      proguardFile 'proguard-rules.txt' 
     } 
    } 
} 

dependencies { 
    compile 'com.android.support:appcompat-v7:+' 
    compile 'com.google.android.gms:play-services:4.0.30' 
} 

развернуть мое приложение на андроид устройства непосредственно

Из того, что я прочитал, я думаю, проблема в api_key, но я не знаю, где ...

Я получаю SHA1 с помощью следующей команды: C: \ Program Files \ Java \ jdk1.6.0_21 \ Bin> Keytool -list -v -keystore "C: \ Users \ Пользователь \ .android \ debug.keystore" -alias androiddebugkey -storepass android -keypass android

Может кто-нибудь мне помочь? Я застрял

ответ

0

Несколько вещей:

1. Удалите эту строку из файла макета XML:

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

2. Из других частей вам код, который я не видел что-то неправильно, так что, возможно, несколько вещей, которые вы могли бы сделать:

  • Воспроизвести ключ, используя API Console, вы может следить за этим сообщением в блоге и убедиться, что вы все делаете правильно: Google Maps API V2 Key, убедитесь, что вы дважды поворачиваете направо API for Android.
  • Если вы все это сделали и все еще видите эту проблему, убедитесь, что вы удалили приложение, завершенное с телефона, прежде чем устанавливать его снова, когда ключ API кэшируется до тех пор, пока вы не удалите приложение.
+0

Наконец-то работал !!! Проблема была в api_key. Я создал новый, удалил приложение с телефона, и оно сработало !!! Спасибо большое – user3102153

+0

Вы приветствуете @ user3102153:) –

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