0

我正在尝试让我的 MapView 在 android 上运行。但我得到一个空网格。

我遵循异常并收到错误消息:“java.io.IOException:服务器返回:3”。

我多次删除了我的 debug.keystore,重新创建了它。我每次都使用 api 控制台创建新的 api 密钥。

这就是我声明我的 MapView 的方式:

<com.google.android.maps.MapView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mapView"
    android:layout_width="match_parent"
    android:layout_height="184dp"
    android:layout_x="0dp"
    android:layout_y="0dp"
    android:apiKey="my api key"
    android:clickable="true" >
</com.google.android.maps.MapView>

我还在我的 android 清单文件中添加了几个权限:

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

<permission android:name="com.example.conti_lab6.permission.MAPS_RECEIVE" android:protectionLevel="signature"/>
<uses-permission android:name="com.example.conti_lab6.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="com.example.conti_lab6.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="com.example.conti_lab6.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"/>
<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"/>
<!-- 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"/>

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

    <activity
        android:name="com.example.conti_lab6.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" /> 
</application>

我对此没有想法。我在本地运行模拟器,它应该在我的 .android 文件中使用 debug.keystore。

4

1 回答 1

1

所以在 Api V2 的情况下

你需要一些小改动

布局:

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:map="http://schemas.android.com/apk/res-auto"
  android:id="@+id/map"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
 class="com.google.android.gms.maps.SupportMapFragment"/>

你必须添加google play library, 和 The error which you are getting is generally occured when you are running your app Using v1 api key

对于密钥生成,您可以使用带有包名称的 SHA1 证书。

有关更多信息,请查看此链接

于 2013-03-26T13:34:56.397 回答