2010-12-07 18 views
6

Sorun, haritamın gösterilmemesi. Bu sadece (örneğin :) İNTERNET iznine sahip olmadığınız zaman gösteren bir kılavuzdur.Bu harita uygulamasının çalışmasında bana yardımcı olan var mı?

public class MapClass extends MapActivity { 

public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 
    setContentView(R.layout.maplayout); 

    MapView mapView = (MapView) findViewById(R.id.mapView); 
    mapView.setBuiltInZoomControls(true); 
    } 

@Override 
protected boolean isRouteDisplayed() { 
    // TODO Auto-generated method stub 
    return false; 
} 
} 

İşte (eksi Harita Anahtarı) benim XML Düzen dosyasıdır:

İşte benim java sınıf var

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/mainlayout" android:orientation="vertical" 
android:layout_width="fill_parent" android:layout_height="fill_parent"> 

<com.google.android.maps.MapView 
    android:id="@+id/mapView" android:layout_width="fill_parent" 
    android:enabled="true" android:layout_height="fill_parent" 
    android:clickable="true" android:apiKey="MY-API-KEY" /> 

</RelativeLayout> 

Ve işte benim Manifest Dosya var:

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

<application android:icon="@drawable/icon" android:label="@string/app_name" 
    android:debuggable="true"> 

    <uses-library android:name="com.google.android.maps" /> 
    <activity android:name=".MapClass" android:label="@string/app_name" 
    android:theme="@android:style/Theme.NoTitleBar"> 

    <intent-filter> 

    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 

    </intent-filter>> 

    </activity> 
</application> 

<uses-sdk android:minSdkVersion="1" /> 

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

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

</manifest> 
+1

Benim tahminim, API Anahtarının yanlış olması. Düzgün oluşturduğundan emin misin? – blindstuff

+0

Ben de öyle düşündüm. Birden fazla bilgisayarda yaklaşık 10 kat ürettim. Aynı zamanda MapView XML kodunu doğrudan bir şeyleri karıştırdığım durumlarda anahtarı oluşturdukları Google'dan da kopyaladım. Hala hiçbirşey. – NotACleverMan

+1

Bunu emülatörde test ediyor musunuz? Öyleyse zaten yeni ADT'ye güncellediniz mi? –

cevap

3

emin olun uygulamanız Harita API anahtarınızla ilişkilendirdiğiniz imzalama anahtarıyla imzalandı. Hata ayıklama yaptığınızdan şüpheleniyorum, bu yüzden uygulama hata ayıklama anahtar deposuyla imzalandı ... bunun için farklı bir Harita API anahtarı oluşturmanız gerekiyor.

Her bir Map API anahtarı için bir tane olmak üzere 2 düzenim var. Düzeni, bir hata ayıklamada mı yoksa yayın oluşturma sürümüyle mi çalıştığımı temel alarak seçiyorum.

+0

Uygulamamı imzalamıyorum çünkü APK'yı oluşturmuyorum çünkü sadece emülatörde çalışıyor ve telefonumda hata ayıklanıyor. Bir uygulamayı imzalamak için nasıl bir anahtar ile bir APK oluşturmak olduğunu bildiğim tek yolu, benim telefonuma kopyalayın ve sonra onu yükleyin. – NotACleverMan

+0

Hmmm APK yapmak ve daha sonra telefonuma kopyalamak çalışır. ona sahiptim Geçen yıl emülatörde çalışan ve bir hata ayıklama anahtarını hiç duymadım. Teşekkürler – NotACleverMan

+0

Eclipse'den bir cihazdaki/emülatördeki bir uygulamayı çalıştırdığınızda/hata ayıkladığınızda, APK, hata ayıklama imzalama anahtarı ile oluşturulur ve imzalanır. Bir uygulamayı Android Market'te dağıtmak istiyorsanız, kendi imzalama anahtarınızı oluşturmanız ve APK'yı onunla imzalamanız gerekir. Bunu şu adreste okuyun: – shammer64

İlgili konular