2014-03-28 34 views
0

我完全遵循谷歌的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

回答

1

看來你正在使用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

相關問題