2011-12-16 15 views
0

これで30時間のプログラミングとエラーが発生した後、私は自分が望むことができないことに気付きました。これはパスを得点する最後の溝です。Android GPS地図にグリッドが表示されます

google apiを実装してマップ上のものを表示しようとしています。

私は基本的にAndroidチュートリアルを完全にフォローしていますが、まだ動作を拒否しています。

MapViewにグリッドが表示されているだけで、私の友人は私のapiキーをテストしたので、うまくいくはずです。

私が使用するようになっていた唯一の権限は

android.permission.INTERNET 

である私は、他のスレッドを見てきましたが、私は、キーが細かいポジティブだと私は許可が正しい場所にあると思います。

<com.google.android.maps.MapView 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/mapview" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:clickable="true" 
android:apiKey="key" 
    /> 


</LinearLayout> 

マニフェスト

<uses-sdk android:minSdkVersion="8" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" android:debuggable="false"> 
    <uses-library android:name="com.google.android.maps" /> 
    <activity 

インポートjava.util.Listに。

import com.google.android.maps.GeoPoint; 
import com.google.android.maps.MapActivity; 
import com.google.android.maps.MapView; 
import com.google.android.maps.Overlay; 
import com.google.android.maps.OverlayItem; 


import android.graphics.drawable.Drawable; 
import android.os.Bundle; 

public class Main extends MapActivity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

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

    List<Overlay> mapOverlays = mapView.getOverlays(); 
    Drawable drawable = this.getResources().getDrawable(R.drawable.androidmarker); 
    MyItemizedOverlay itemizedoverlay = new MyItemizedOverlay(drawable); 

    GeoPoint point = new GeoPoint(19240000,-99120000); 
    OverlayItem overlayitem = new OverlayItem(point, "Hola, Mundo!", "I'm in Mexico City!"); 

    itemizedoverlay.addOverlay(overlayitem); 
    mapOverlays.add(itemizedoverlay); 
} 



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

私は時期尚早だったようですが、前回と全く同じ別のキーを作成しました。今回は鍵が働いた。

が、今の問題は、私はズームをクリックしたとき、ある、それ力は、私は、あなたのMyItemizedOverlayクラスに問題があることを考えるtehのアプリケーション

+0

APKでログインしたデバッグモードのリリースAPIキーを使用していますか? –

+0

私はそれがどういう意味か分かりません。私はここにMD5を貼り付けた後に得たAPIキーを使用しています:http://code.google.com/android/maps-api-signup.html。私は友達のapiも試しましたが、どちらもうまくいきませんでしたが、どちらも彼のために働いています。私はそのAPIを使って生成されたデバッグの1つだと思っていますが、私はすべてのコマンドを使ってこのことを覚えています – TroothHertz

+0

1.キーを作成したときに、アプリケーション固有の '.keystore file'を使いましたか?またはあなたはアンドロイド 'debug.keystore'を使いましたか? 2.アプリケーションを実行してテストするときは、あなたの '.keystore'で署名されたリリースAPKをエクスポートしているのですか、デバッグビルドを作成していますか?テストしているAPKのAPIが一致していないようです。 –

答えて

1

debug.keystoreを使用しないでください。 new keystoreを使用してください。 Right click on ur project>Android tools> Export signed application package。新しいキーストアを作成します(エイリアス名とパスワードを覚えておいてください)。

今すぐコマンドプロンプトで次のコマンドを使用します

cd "C:\Program Files\Java\jdk1.7.0_01\bin 


keytool -v -list -alias <ur alias name> -keystore <ur keystore name>.keystore -storepass android -keypass android 

それはMD5フィンガープリントがgoogle api keyを生成することMD5 fingerprint使用を与え、後passwordを要求します。キーを交換します。 今Project Right Click>Android tools>Export Signed Application package>

Use existing keystore 

このapk.Itをインストールget apk in release mode.チェックが正常に実行する必要があり、以前のキーストアを選択し、U。

+0

私の答えが正しい場合はそれをマークしてください –

0

を閉じます。私はズームをクリックしたときには、を述べ

ズームコントロールたりアンドロイドマーカー上を意味??

あなたのコードをテストしましたが、変更は自分のItemizedOverlayクラスだけでした。ズームコントロールとマーカークリックの両方に対してうまく機能します。あなたのアプリがクラッシュした場合、私はあなたを助けることができる

唯一のことは、あなたが地図上のマーカーをクリックしたとき、あなたは、私がしようとしますあなたのコードを送信、ItemizedOverlayクラス

ない場合にコンテキストを渡す必要があり、ですあなたの問題を解決してください。