谷歌地图不适用于Android应用程序“无法获得连接工厂客户端”
我完全遵循谷歌的MapView教程,但它只显示谷歌地图的空白页面。这是我的代码。谷歌地图不适用于Android应用程序“无法获得连接工厂客户端”
我的地图xml:
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"
android:apiKey="API_KEY"
/>
其类:
public class Maps extends MapActivity {
@Override
protected boolean isRouteDisplayed() {
return false;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
MapView mapView = (MapView) findViewById(R.id.mapView);
mapView.setBuiltInZoomControls(true);
List<Overlay> mapOverlays = mapView.getOverlays();
Drawable drawable = this.getResources().getDrawable(R.drawable.logo);
ItemOverlay itemizedoverlay = new ItemOverlay(drawable, this);
GeoPoint point = new GeoPoint(19240000,-99120000);
OverlayItem overlayitem = new OverlayItem(point, "Hola, Mundo!", "I'm in Mexico City!");
itemizedoverlay.addOverlay(overlayitem);
mapOverlays.add(itemizedoverlay);
}
}
最后逐项覆盖类:
public class ItemOverlay extends ItemizedOverlay {
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
Context mContext;
public ItemOverlay(Drawable defaultMarker, Context context) {
super(boundCenterBottom(defaultMarker));
mContext = context;
}
public void addOverlay(OverlayItem overlay) {
mOverlays.add(overlay);
populate();
}
@Override
protected OverlayItem createItem(int i) {
return mOverlays.get(i);
}
@Override
public int size() {
return mOverlays.size();
}
@Override
protected boolean onTap(int index) {
OverlayItem item = mOverlays.get(index);
AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
dialog.setTitle(item.getTitle());
dialog.setMessage(item.getSnippet());
dialog.show();
return true;
}
}
所以这给出了错误,并只显示“标志'在空白的谷歌地图页面上。这里还有我的清单权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application ... >
<uses-library android:name="com.google.android.maps"/>
<application />
我错过了什么?有什么可能是问题,提前谢谢顺便说一句,我在console.developers.google.com上创建了一个API密钥,用于具有Google Maps v3权限的浏览器应用程序。
看来你正在使用Google Map V1
这显然已经过时。您现在应该切换到Google Map V2以使用地图功能。
注:谷歌地图的Android API第1版已正式弃用12月3日的,2012年。这意味着,从2013年3月18日您将不再能请求此版本的API密钥。 Google地图Android API v1不会添加任何新功能。但是,使用v1的应用程序将继续在设备上运行。鼓励现有和新开发人员使用Google Maps Android API v2。
会做!非常感谢,出于某种原因,该教程直接将我引向v1,因为它看起来像。 –
Bol。 Kem aje kai bolti nathi – Piyush
什么是错误? – Katana24
E/MapActivity(13463):无法获得连接工厂客户端 –
@SuhrahjRothgar您是否使用谷歌地图V1? – GrIsHu