在过去的几天里,我一直无法使用简单的MapView进行工作,没有覆盖层,只有地图。我查找了很多解决方案,但没有一个对我有用。

我有一个用于调试密钥库的apikey。我在清单文件中的适当位置拥有所有适当的权限,但是我仍然遇到相同的错误和相同的灰色网格。我的代码中缺少什么吗?我不知道怎么了,请帮忙!

这是mapactivity的布局xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <com.google.android.maps.MapView
        android:id="@+id/mapview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:enabled="true"
        android:clickable="true"
        android:apiKey="xxxx" />

</LinearLayout>


这是mapactivity代码:

public class MapActivity extends com.google.android.maps.MapActivity {

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.map_view);
    }

    @Override
    protected boolean isRouteDisplayed() {
        return false;
    }
}


这是我的清单文件:

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

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

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" android:debuggable="true">
        <uses-library android:name="com.google.android.maps" />
        .
        .
        .
        .
        <activity android:name="MapActivity"></activity>

    </application>

</manifest>

最佳答案

通过使用SHA1证书指纹,我遇到了同样的问题,因此我选择了MD5证书指纹。转到此站点https://developers.google.com/maps/documentation/android/v1/maps-api-signup,并给您MD5指纹并获取密钥。
 获取MD5指纹


在运行中键入cmd,打开命令提示符。开始⇒运行⇒输入cmd
通过输入cd c:\ jdk-dir \ bin \进入jdk的bin目录
在我的情况下,我输入cd C:\ Program Files \ Java \ jdk1.7.0_07 \ bin \
然后输入keytool -exportcert -alias androiddebugkey -keystore
    “ C:\ Users \用户名.android \ debug.keystore”-列表-v

在我的情况下,我键入了keytool -exportcert -alias androiddebugkey -keystore“ C:\ Users \ User.android \ debug.keystore” -list -v
然后将要求您输入密码。默认密码是android。
那么您将获得MD5指纹。

10-05 21:20
查看更多