Google地图未在Android设备上展示。

时间:2012-09-18 04:55:53

标签: android google-maps google-maps-api-3

所以我的问题是谷歌地图没有显示在我的Android设备上使用3.2 API

在搜索此问题的解决方案时,我已尝试完成大部分并非我在网上找到的所有建议。

我的清单中有<uses-permission android:name="android.permission.INTERNET"/>

我已经按照谷歌书面程序生成了一个签名密钥(http://developer.android.com/tools/publishing/app-signing.html#setup)并获得了所述密钥并将其放入布局android:apiKey="0R8lbu8yQL1Wgw-13s5sUBXZXusi4mEY3EhqWWw"但仍然看到灰色瓷砖而不是地图。< / p>

我知道调试密钥可以在AVD上运行但不能在Android设备上运行,而签名密钥应该在设备上运行而不是在AVD中运行。

我愿意尝试另外一步一步来完成这项工作,如果确实如此,我将永远感激。

请帮忙!谢谢!

SOLUTION:

将错误的apk安装到设备上。不得不这样做:

adb install <your-file-name>.apk

控制台中的

修改

Manifest File

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.googlemaps"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="15" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>



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

    <uses-library android:name="com.google.android.maps" />

    <activity
        android:name=".StartActivity"
        android:label="@string/title_activity_start">

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

    </activity>


    <activity
        android:name=".MainActivity"
        android:label="@string/title_activity_main" >

    </activity>


    <service
      android:name=".WorldWideMapService"
      android:process=":remote">
      <intent-filter>
        <action
          android:name="com.example.googlemaps.WorldWideMapService" />
      </intent-filter>
    </service>

</application>

2 个答案:

答案 0 :(得分:5)

我想纠正你关于应用程序标志的问题,并映射api密钥。

没有这样的东西,比如默认的api键只适用于avd,而不适用于设备。事实上,map api key与Signature KeyStore相关联,正在对其进行签名,因此如果您使用Default Key对应用程序进行签名,则应使用默认的api密钥。但是,如果您使用自己的密钥库签署应用程序,则应将新密钥库注册到google map api,并获取api密钥。要在Google Play上传,我们需要使用除默认密钥库之外的其他密钥库来签署应用程序,因此我们需要获取发布映射api密钥。

在您的情况下,我认为您使用默认密钥库对应用程序进行签名,而使用不同商店的map api密钥。

是的,问题可能是@Raju提到的。

答案 1 :(得分:1)

在活动之前和应用程序内部标记

之前在清单文件中添加此文件
<uses-library android:name="com.google.android.maps" />