2013-06-04 122 views
0

我想要2天以上的谷歌地圖工作在Android應用程序。 起初,當我試圖用模擬器做到這一點時,它沒有顯示地圖只有一個網格。 因此,後來我嘗試將應用程序導出到Apk並將其直接安裝到我的Galaxy note 2中。 在手機中,它顯示了與底部的Minus和Plus相同的網格(與模擬器相同)。 現在我認爲它可能是我的API密鑰(開啓了Google地圖v2版本),但我仔細地遵循了說明,並做了正確的操作。因此,在底線,我需要庫(android-support-v4.jar + google-play-services.jar),並且沒有任何工作,地圖不會出現。如何在Android Apk應用程序上顯示谷歌地圖?

有人知道如何解決這個問題嗎?

我MainActivity.java:

package com.example.map; 

import android.view.Menu; 

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



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) 
    { 
     getMenuInflater().inflate(R.menu.main,menu); 
     return true; 

}

我activity_main.xml中的佈局是:

<?xml version="1.0" encoding="utf-8"?> 
<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" > 



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

而我的Manifest.xml是:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.map" 
android:versionCode="1" 
android:versionName="1.0" > 
<uses-feature 
android:glEsVersion="0x00020000" 
android:required="true"/> 

<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"/> 
<permission 
android:name="com.example.map.permission.MAPS_RECEIVE" 
android:protectionLevel="signature"/> 
<uses-permission android:name="com.example.map.permission.MAPS_RECEIVE"/> 
<uses-sdk 
android:minSdkVersion="8" 
android:targetSdkVersion="17" /> 

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


<activity 
android:name="com.example.map.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> 
    <uses-library android:name="com.google.android.maps" /> 
<meta-data 
android:name="com.google.android.maps.v2.API_KEY" 
android:value="AIzaSyD5dqdfd0TLVBzugqqJ_-4OKqWs_MojR4Y"/> 
</application> 

</manifest> 
+1

向我們展示一些代碼! – LiverpoolFTW

+0

我想你將不得不提供一些更具體的信息和細節。由於代碼在模擬器中的行爲與手機中的相同,因此它看起來好像問題出在您的代碼/構建中,而不是您部署它的方式。 – nurdglaw

+0

嗨,我只是添加了代碼。 @LiverpoolFTW –

回答

0

Google api console->服務有兩種選擇。他們被關閉。

1 - 谷歌地圖API的Android V2 2,谷歌地圖API第2

檢查選擇1(谷歌地圖API的Android V2)。

+0

我的選擇是Google Maps Android API v2。 –

相關問題