-3

我在 Android 中创建了一个基于谷歌地图的应用程序。我有一个 API 密钥,它在模拟器中成功运行,但是当我在设备上运行它时,它显示强制关闭消息。有人可以解释一下如何获取在设备上使用的 API 密钥,以及我是否必须获得专门用于设备使用的 API 密钥?

我的Java代码:

setContentView(R.layout.mapview);
mapView = (MapView) findViewById(R.id.mapview);       
mapView.setBuiltInZoomControls(true);

String coordinates[] = {"9.966667", "78.166667"};
double lat = Double.parseDouble(coordinates[0]);
double lng = Double.parseDouble(coordinates[1]);
GeoPoint  p = new GeoPoint((int) (lat * 1E6),(int) (lng * 1E6));

MapController mapController = mapView.getController();

mapController.setCenter(p);
mapController.animateTo(p);
mapController.setZoom(12);

我的布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" >

    <com.google.android.maps.MapView
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
        android:enabled="true"
        android:clickable="true"
        android:apiKey="myapikey" />

</LinearLayout>

日志错误:

 Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x1080215

这个问题是我项目的障碍,所以在解决之前我无法继续前进。

4

2 回答 2

1

检查这个: 在android中使用释放键显示地图

于 2011-06-16T05:04:10.770 回答
0

阅读文档

编辑:好的,我正在为您引用文档

但是,当您准备发布应用程序时,请注意您必须使用合适的加密密钥对应用程序进行签名,而不是使用 SDK 调试密钥。这意味着您还需要向 Google 地图服务注册应用程序的发布证书。完成此操作后,您将收到一个与您的发行证书唯一关联的新 Maps API 密钥。要使应用程序中的 MapView 元素在发布后能够工作,您必须记住更改应用程序中所有 MapView 的 Maps API 密钥,以便它们引用与您的发布证书(而不是调试证书)关联的密钥。

细读以下部分“获取您的签名证书的 MD5 指纹”

$ keytool -list -alias alias_name -keystore my-release-key.keystore
于 2011-06-16T05:02:44.697 回答