2011-07-26 26 views
0

アクティビティにマップを表示しようとしていて、タイルを表示できません。ここに私のコードは次のとおりです。Androidマップのアクティビティにタイルが表示されない

package com.codendo.androidapps.studhouseaarhus; 

import 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.content.Context; 
import android.content.Intent; 
import android.graphics.drawable.Drawable; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.LinearLayout; 
import android.widget.TextView; 

public class LocationActivity extends MapActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 


     setContentView(R.layout.location); 
     MapView mapView = (MapView) findViewById(R.id.mapview); 
     mapView.setBuiltInZoomControls(true); 
     List<Overlay> mapOverlays = mapView.getOverlays(); 
     Drawable drawable = this.getResources().getDrawable(R.drawable.androidmarker); 
     MapOverlay itemizedoverlay = new MapOverlay(drawable, this); 
     GeoPoint point = new GeoPoint(19240000,-99120000); 
     String lbl_title = getResources().getString(R.string.lbl_location_title); 
     String lbl_text = getResources().getString(R.string.lbl_location_text); 
     OverlayItem overlayitem = new OverlayItem(point, lbl_title, lbl_text); 
     itemizedoverlay.addOverlay(overlayitem); 
     mapOverlays.add(itemizedoverlay); 


     setTitleFromActivityLabel(R.id.title_text); 
    } 

    @Override 
    protected boolean isRouteDisplayed() { 
     return false; 
    } 


    /** 
    */ 
    // Click Methods 

    /** 
    * Handle the click on the home button. 
    * 
    * @param v View 
    * @return void 
    */ 

    public void onClickHome (View v) 
    { 
     goHome (this); 
    } 

    /** 
    * Handle the click on the search button. 
    * 
    * @param v View 
    * @return void 
    */ 

    public void onClickSearch (View v) 
    { 
//  startActivity (new Intent(getApplicationContext(), SearchActivity.class)); 
    } 

    /** 
    * Handle the click on the About button. 
    * 
    * @param v View 
    * @return void 
    */ 

    public void onClickAbout (View v) 
    { 
     startActivity (new Intent(getApplicationContext(), AboutActivity.class)); 
    } 


    /** 
    */ 
    // More Methods 

    /** 
    * Go back to the home activity. 
    * 
    * @param context Context 
    * @return void 
    */ 

    public void goHome(Context context) 
    { 
     final Intent intent = new Intent(context, HomeActivity.class); 
     intent.setFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     context.startActivity (intent); 
    } 

    /** 
    * Use the activity label to set the text in the activity's title text view. 
    * The argument gives the name of the view. 
    * 
    * <p> This method is needed because we have a custom title bar rather than the default Android title bar. 
    * See the theme definitons in styles.xml. 
    * 
    * @param textViewId int 
    * @return void 
    */ 

    public void setTitleFromActivityLabel (int textViewId) 
    { 
     TextView tv = (TextView) findViewById (textViewId); 
     if (tv != null) tv.setText (getTitle()); 
    } // end setTitleText 
} 

とレイアウト:私はそこにいることを知っている

<application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <uses-library android:name="com.google.android.maps" /> 
     <uses-permission android:name="android.permission.INTERNET" /> 
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    > 
     <LinearLayout style="@style/TitleBar" android:id="@+id/title_container"> 
     <ImageButton style="@style/TitleBarAction" 
      android:contentDescription="@string/description_home" 
      android:src="@drawable/title_home" 
      android:onClick="onClickHome" android:id="@+id/title_logo" /> 

     <ImageView style="@style/TitleBarSeparator" /> 
     <TextView style="@style/TitleBarText" android:id="@+id/title_text"/> 
     <ImageButton style="@style/TitleBarAction" 
      android:contentDescription="@string/description_about" 
      android:src="@drawable/title_about" 
      android:onClick="onClickAbout" /> 
     <ImageButton style="@style/TitleBarAction" 
      android:contentDescription="@string/description_search" 
      android:src="@drawable/title_search" 
      android:onClick="onClickSearch" /> 
    </LinearLayout> 
    <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="0LzZr3xWzmR-_Y5oqCuTx5DDPo1w_LUH7WZn0uw" 

    /> 
</LinearLayout> 

そして、ここでは、私はGoogleマップを使用することを宣言したマニフェストファイルの一部ですここでいくつかの同様の質問、私はそれらを読んできたと私のために動作するものは見つかりませんでした。ここで

は、私がこれまでにやったことだ:デバイス

    • 実行はただのMapView
    • は、コード内でのMapViewをインスタンス化で作られたカスタムデバッグキー
    • 異なるレイアウトを使用し、ログにエラーがあるかどうかを確認するためにプログラムで追加する
    • エミュレータにロケーションイベントを送信する
  • +0

    キーのようなサウンドは無効です。別のマシンにMD5の指紋がありましたか? – javisrk

    +0

    いいえ、MD5指紋は開発マシンで作成されました。 Android Devのガイドに記載されているように、元のデバッグキーとカスタムデバッグキーの両方 –

    答えて

    1

    あなたの<uses-permission>要素は、内部ではなく<application>要素の外側にある必要があります。

    +0

    ありがとう!それが原因でした。 –

    関連する問題