Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为android生成Google地图密钥-一步一步_Android_Google Maps_Android Layout - Fatal编程技术网

为android生成Google地图密钥-一步一步

为android生成Google地图密钥-一步一步,android,google-maps,android-layout,Android,Google Maps,Android Layout,以下是生成android地图密钥的步骤: 1-)我执行此命令: keytool-list-v-alias androiddebugkey-keystore~/.android/debug.keystore-storepass-android-keypass-android 此命令的输出如下: Alias name: androiddebugkey Creation date: Mar 13, 2013 Entry type: PrivateKeyEntry Certificate chain l

以下是生成android地图密钥的步骤:

1-)我执行此命令:

keytool-list-v-alias androiddebugkey-keystore~/.android/debug.keystore-storepass-android-keypass-android

此命令的输出如下:

Alias name: androiddebugkey
Creation date: Mar 13, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 51401a0b
Valid from: Wed Mar 13 02:17:47 EDT 2013 until: Fri Mar 06 01:17:47 EST 2043
Certificate fingerprints:
     MD5:  XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
     SHA1: XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
     Signature algorithm name: SHA1withRSA
     Version: 3
2-)获得SHA1后,我复制它,然后打开此链接:

我设置了此功能:

3-)之后,我生成一个新密钥:

其中
XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
(是上面获得的SHA1)和
edu.osu.cse5326.busstopapp
是我的项目的单个包

4-)最后,我复制生成的映射API密钥:

5-)并粘贴到我的一个布局中:

<com.google.android.maps.MapView xmlns:android="http://schemas.android.com/apk/res/android"
                    android:id="@+id/mapViewBusStopLocation"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:clickable="true"
                    android:apiKey="the_api_key"

                />
我读了很多书,我认为这是MAPAPI键的问题,但我找不到我做错了什么

我尝试过但没有成功的事情:

  • 删除debug.keystore并重新生成
  • 我尝试在真正的设备上运行,而不是在模拟器上运行
  • 重新生成MAPAPI密钥,并等待几个小时,看看是否需要时间才能工作

  • 我搜索了一下,发现了一个问题,答案是:

    当使用已签名的API密钥时,MapView仅在从Android Market安装应用程序时才会显示。因此,从Eclipse(运行方式、调试方式等)或命令行(adb安装)安装应用程序不会显示MapView。请放心,一旦该应用进入市场,你下载它,地图视图就会出现


    这有点奇怪,但我希望它能帮助您。

    我不明白,您在所有设置中都使用了Google Map API V2,包括从控制台获得的密钥,但您使用的是
    MapView
    对象,它是Google Map API V1对象

    您应该将
    MapFragment
    SupportMapFragment
    对象与
    android-support-v4
    库一起使用,具体取决于您编写应用程序的minSDK

    下面是我写的一篇关于如何将Google Map API V2添加到您的应用程序的博文,我想您会发现它很方便:


    您是否已将此添加到清单中?谢谢@abbath,让我编辑我的问题以添加manifest.xml信息。您是否尝试过片段方式(使用过)?是的@abbath,我也尝试过……我想这只是“生产”密钥的情况,我只是想安装一个调试键来开始开发应用程序…..您使用的是旧的
    com.google.android.maps.MapView
    ,而不是
    com.google.android.gms.maps.MapView
    。那会有问题吗?谢谢!那我应该用什么?片段?教程的这一行给了我一个错误:“xmlns:map=”,错误:为标记片段找到了意外的名称空间前缀“xmlns”……如果仔细阅读指南,您将看到:“8”。现在创建一个扩展自“FragmentActivity”的活动,为该活动创建一个XML布局文件,并将其设置为该活动的内容视图,在布局中写入以下内容…”。因此,您需要做的就是创建一个FragmentActivity并设置ContentView(R.layout.maplayout);获取全屏map FragmentActivity。如果您没有使用map命名空间的任何属性,则可以删除它。据我所知,这是一个已知的错误,对于特定场景,eclipse会在map命名空间上给您错误。
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="edu.osu.cse5326.busstopapp"
        android:versionCode="1"
        android:versionName="1.0" >
    
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.CAMERA" />
    
        <uses-feature android:name="android.hardware.camera" />
        <uses-feature android:name="android.hardware.camera.autofocus" />
    
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    
        <permission
            android:name="edu.osu.cse5326.permission.MAPS_RECEIVE"
            android:protectionLevel="signature" />
    
        <uses-feature
            android:glEsVersion="0x00020000"
            android:required="true" />
    
        <uses-sdk
            android:minSdkVersion="10"
            android:targetSdkVersion="10" />
    
        <application
            android:name="edu.osu.cse5326.busstopapp.AppState"
            android:allowBackup="true"
            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="edu.osu.cse5326.busstopapp.LoginActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
    
          Many other activities
        </application>
    
    </manifest>
    
    03-13 16:48:28.045: W/System.err(375): IOException processing: 26
    03-13 16:48:28.045: W/System.err(375): java.io.IOException: Server returned: 3
    03-13 16:48:28.045: W/System.err(375):  at android_maps_conflict_avoidance.com.google.googlenav.map.BaseTileRequest.readResponseData(BaseTileRequest.java:115)
    03-13 16:48:28.045: W/System.err(375):  at android_maps_conflict_avoidance.com.google.googlenav.map.MapService$MapTileRequest.readResponseData(MapService.java:1473)
    03-13 16:48:28.045: W/System.err(375):  at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.processDataRequest(DataRequestDispatcher.java:1117)
    03-13 16:48:28.055: W/System.err(375):  at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.serviceRequests(DataRequestDispatcher.java:994)
    03-13 16:48:28.055: W/System.err(375):  at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702)
    03-13 16:48:28.055: W/System.err(375):  at java.lang.Thread.run(Thread.java:1019)
    03-13 16:48:28.365: W/System.err(375): IOException processing: 26
    03-13 16:48:28.365: W/System.err(375): java.io.IOException: Server returned: 3
    03-13 16:48:28.365: W/System.err(375):  at android_maps_conflict_avoidance.com.google.googlenav.map.BaseTileRequest.readResponseData(BaseTileRequest.java:115)
    03-13 16:48:28.375: W/System.err(375):  at android_maps_conflict_avoidance.com.google.googlenav.map.MapService$MapTileRequest.readResponseData(MapService.java:1473)