谷歌地图不适用于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权限的浏览器应用程序。

+0

什么是错误? – Katana24

+0

E/MapActivity(13463):无法获得连接工厂客户端 –

+0

@SuhrahjRothgar您是否使用谷歌地图V1? – GrIsHu

看来你正在使用Google Map V1这显然已经过时。您现在应该切换到Google Map V2以使用地图功能。

Documentation

注:谷歌地图的Android API第1版已正式弃用12月3日的,2012年。这意味着,从2013年3月18日您将不再能请求此版本的API密钥。 Google地图Android API v1不会添加任何新功能。但是,使用v1的应用程序将继续在设备上运行。鼓励现有和新开发人员使用Google Maps Android API v2。

+0

会做!非常感谢,出于某种原因,该教程直接将我引向v1,因为它看起来像。 –

+0

Bol。 Kem aje kai bolti nathi – Piyush

下载下面的网址代码:

http://wptrafficanalyzer.in/blog/?wpdmact=process&did=MTgxLmhvdGxpbms=

这可能会帮助你