1

据我所知,这个问题在这里讨论了很多次,但是当我尝试时,我仍然遇到了同样的问题,并且都尝试了我在这里和谷歌看到的东西,但这个问题仍然没有解决。

另外,我尝试了很多站点的示例代码,也有同样的问题。(在MapActivity派生类上,我可以看到grid但地图没有加载,同时抛出上述异常)

我尝试了我自己API key的以及示例代码中已经存在的键。并且,还尝试在设备中保持位置选项启用和禁用两者。

请给我你的帮助。

下面使用了一个清单文件...

**

<permission
      android:name="com.Example.appl.permission.MAPS_RECEIVE"
      android:protectionLevel="signature"/>

<uses-permission android:name="com.Example.appl.permission.MAPS_RECEIVE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<application
    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="com.Example.appl.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>
    <activity android:name=".MHomeActivity"></activity>





</application>

**

4

4 回答 4

1

最后,在搞砸了两天之后,我仍然得到了解决方案,如果有人最好请更新我。

我做了什么,在查看了这么多线程和链接之后,我知道上面的代码/清单没有任何问题,所以我深入研究了 Google Map API 密钥,下面的解决方案看我的方式......(请注意,我我正在通过 mac 进行开发)。

首先我打开我的终端,在那里我访问了 Java 文件夹和它的 bin 文件夹,然后在命令下键入以下内容:-

***keytool -list -alias androiddebugkey -keystore \User\.android\debug.keystore -storepass android -keypass android***

请注意,在上面的命令“\User.android\debug.keystore”中,这是保存你的 android 调试密钥的路径,如果你想在 eclipse 中找到那个路径(可能在你的系统上不同),请使用下列的:

**eclipse->window->preferences->Android->Build** 

因此,当您运行上述命令时,您会找到 MD5 密钥,然后您需要访问以下链接:-

https://developers.google.com/maps/documentation/android/v1/maps-api-signup

在这里,您将在下面给出上面获得的 MD5 密钥,它会为您生成 api 密钥进行调试。然后在所需的 xml 或编码中提供此 api 密钥(取决于您如何编码)。

但此规定适用于 v1。如果有人找到 v2 的方法,请更新此线程。

于 2013-02-08T09:35:50.167 回答
0

阅读并浏览了很多使用 API v2 的答案,即使您是为 Android 2.2 开发的

获取签名 SHA1

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

得到类似 (SHA1): 82:73:C3:82:73:C3:82:73:C3:82:73:C3:82:73:C3:82:73:C3

获取 API_KEY

转到“服务”中的“ Google Api 控制台Google Maps Api v2”,稍后在“Api 访问”部分单击“创建新的 Android 密钥”或“更新”(如果有),放入对话框

82:73:C3:82:73:C3:82:73:C3:82:73:C3:82:73:C3:82:73:C3;COM.PACKAGE.NAME

添加库

添加google-play-services到您的项目中,转到Project properties -> Android“库”部分中单击添加并浏览到sdk-android>/extras/google/google_play_services/libproject/google-play-services_lib

检查android-support-v4.jar项目依赖项中的库。

编辑您的代码

<!--AndroidManifest.xml-->
<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />
<uses-feature android:glEsVersion="0x00020000" android:required="true"/>
<permission android:name="COM.PACKAGE.NAME.permission.MAPS_RECEIVE"></permission>
<uses-permission android:name="COM.PACKAGE.NAME.permission.MAPS_RECEIVE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<!--inside <application> tag-->
<meta-data android:value="API_KEY" android:name="com.google.android.maps.v2.API_KEY"/>

在您的活动课程中,您的需求从android.support.v4.app.FragmentActivity

//MainActivity.java

package COM.PACKAGE.NAME;    

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;

public class MainActivity extends FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

最后你需要改变你的activity_main.xml

<!--./res/layout/activity_main.xml-->
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="com.google.android.gms.maps.SupportMapFragment"/>
于 2013-02-21T04:36:58.047 回答
0

我搜索了您的问题我有解决方案,并在下面给出请参考这些...

无法在 logcat 中获取连接工厂客户端

无法获取连接工厂客户端

于 2013-02-07T11:19:57.843 回答
0

检查您是否在 Application 标签内的 android-manifest 文件中添加了地图库。

<uses-library android:name="com.google.android.maps" />
于 2013-02-07T07:51:13.790 回答