Android无法获得连接工厂客户端

时间:2014-01-02 08:36:59

标签: android client maps factory

好的,所以我有一个工作的应用程序,我正在测试2个基于API 8和另一个基于API 11的Android模拟器。该应用程序在API 11中工作正常但在API 8中失败但无法获取连接工厂客户端错误消息。

我想知道这可能与几件事有关吗

  • 也许我需要为不同版本获取不同的Google Maps API密钥?
  • 也许我需要在我的Manifest文件中使用不同的声明才能使它适用于不同的构建?
  • 也许别的什么?

在项目属性中,我选择了Project Build Target作为Google Maps API 8,并已下载了我需要的所有相应SDK。

非常感谢您的任何帮助,感谢您的关注,同时这是我的清单文件......

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="net.rogw.p352lbs"
    android:versionCode="1"
    android:versionName="1.0" >

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

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

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

        <activity
            android:name="net.rogw.p352lbs.MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

这是我的布局文件,我没有添加java文件,因为它很长并且可以与API 11模拟器一起使用: -

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <com.google.android.maps.MapView
        android:id="@+id/mapView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:apiKey="Key is not shown here but it is a valid string"
        android:clickable="true"
        android:enabled="true" />

</LinearLayout>

2 个答案:

答案 0 :(得分:0)

在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"/>

答案 1 :(得分:0)

您正在使用不推荐使用的map api v1。你应该使用map api v2。

更改您的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"/>

如果你想支持api 11级及以下,你将使用SupportMapFragment

您还需要在Android地图项目中引用Google Play服务库项目。

http://developer.android.com/google/play-services/setup.html

您的Activity类应该扩展FragmentActivity

然后

您需要在应用程序标记内的元标记中使用api密钥。

清单文件中需要更多权限

更多信息@

https://developers.google.com/maps/documentation/android/start#overview

删除

<uses-library android:name="com.google.android.maps" />