2013-06-04 91 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。 –

相关问题