04-01 10:17:20.701:E / MapActivity(377):无法获得连接工厂客户端
我得到的只是灰色瓷砖,地图没有加载。
嘿大家我知道有很多类似的帖子我彻底完成了它们。
可以是Internet权限(我在应用程序标记之前添加了),或者
uses-library android:name =“com.google.android.maps”(在应用程序标签内添加)或
这是一个糟糕的API密钥。
这是我之前创建的调试密钥和Google map api v1正确显示地图的问题。 后来,当我打开该项目时,它没有解析MapActivity,GeoPoint,MapController等..
所以我创建了另一个调试密钥,我现在在这个项目中使用它,我仔细检查了我在创建api时正确地执行了所有步骤。
这是(我创建了一个新的调试)导致这个问题吗?我应该删除C:\ Users \ abc.android中的debug.keystore并调试项目以自动创建新的?它会解决问题还是会引发更多问题呢?
我一直在寻找一个解决方案,因为我昨天仍有问题请帮助我。如果需要任何代码,请提前告诉你,让我知道我会发布它们。
MActivity.java
package com.Aws0mEKCkreaTi0ns.GlobAlpSystracKerKC;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import android.os.Bundle;
public class MActivity extends MapActivity {
MapController mControl;
GeoPoint GeoP;
MapView mapV;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.map);
mapV =(MapView)findViewById(R.id.mapView);
mapV.displayZoomControls(true);
mapV.setBuiltInZoomControls(true);
double lat = 6.796396;
double longi = 79.877823;
mControl = mapV.getController();
GeoP = new GeoPoint((int)( lat * 1E6 ),(int)( longi * 1E6 ));
mControl.animateTo(GeoP);
mControl.setZoom(13);
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
}
map.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/layoutbg"
android:orientation="vertical" >
<com.google.android.maps.MapView
android:id="@+id/mapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:apiKey="AIzaSyCy32DkrrrrT-UBhoT8xiAW182qUaAqi3s"
android:enabled="true"
android:clickable="true" />
</RelativeLayout>
清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.Aws0mEKCkreaTi0ns.GlobAlpSystracKerKC"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="17"/>
<permission
android:name="com.Aws0mEKCkreaTi0ns.GlobAlpSystracKerKC.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.Aws0mEKCkreaTi0ns.GlobAlpSystracKerKC.permission.MAPS_RECEIVE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
<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.Aws0mEKCkreaTi0ns.GlobAlpSystracKerKC.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="com.Aws0mEKCkreaTi0ns.GlobAlpSystracKerKC.MenuActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.Aws0mEKCkreaTi0ns.GlobAlpSystracKerKC.KCLOGO" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.Aws0mEKCkreaTi0ns.GlobAlpSystracKerKC.AddFromContactsActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.Aws0mEKCkreaTi0ns.GlobAlpSystracKerKC.ADDFROMCONTACT" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.Aws0mEKCkreaTi0ns.GlobAlpSystracKerKC.MActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.Aws0mEKCkreaTi0ns.GlobAlpSystracKerKC.MAPS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.Aws0mEKCkreaTi0ns.GlobAlpSystracKerKC.LoginActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.Aws0mEKCkreaTi0ns.GlobAlpSystracKerKC.LOGIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.Aws0mEKCkreaTi0ns.GlobAlpSystracKerKC.SignupActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.Aws0mEKCkreaTi0ns.GlobAlpSystracKerKC.SIGNUP" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.Aws0mEKCkreaTi0ns.GlobAlpSystracKerKC.AddToContactsActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.Aws0mEKCkreaTi0ns.GlobAlpSystracKerKC.ADDTOCONTACTS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyCy32DkrrrrT-UBhoT8xiAW182qUaAqi3s"/>
</application>
</manifest>
答案 0 :(得分:3)
我猜你混合了一些V1和V2功能(比如在清单中使用<uses-library android:name="com.google.android.maps" />
并使用GeoPoint
等等( https://groups.google.com/forum/?fromgroups=#!topic/android-developers/CGF5X1HMLuY )
尝试使用以下示例代码:
MActivity.java
public class MActivity extends FragmentActivity{
private GoogleMap map;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
.getMap();
double lat = 6.796396;
double longi = 79.877823;
final LatLng HAMBURG = new LatLng(lat,longi);
Marker hamburg = map.addMarker(new MarkerOptions().position(HAMBURG)
.title("Hamburg"));
map.moveCamera(CameraUpdateFactory.newLatLngZoom(HAMBURG, 15));
}
Map.xml
<RelativeLayout 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"
tools:context=".MapsActivity" >
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment" />
</RelativeLayout>
从清单中删除<uses-library android:name="com.google.android.maps" />
。
答案 1 :(得分:1)
在模拟器上运行谷歌地图v2有几个步骤,所以我准备了一步一步的教程,以展示你如何在模拟器上使用谷歌地图android v2(android 4.2.2)看看我的博客:{{3} }
答案 2 :(得分:0)
实际上我一直在添加一个不同的项目的.jar文件&amp; This帮助我正确地将一个外部.jar添加到项目中。现在我没有得到“未解决的类型”错误..谢谢大家指点我正确的方向,你们人很棒。