2011-03-31 36 views
0

我跟着android.com上的mapview的確切教程,當我創建一個只有drawable的HelloItemizedOverlay時,它出現,但我無法觸摸它,因爲onTap()方法需要一個上下文。所以我創建一個上下文(getApplicationContext()),它不會出現,但如果我點擊它需要的地方它仍然崩潰。 有人可以幫我嗎?MapView教程

http://developer.android.com/resources/tutorials/views/hello-mapview.html

+0

關注[Android MapView的一步教程](http://mobiforge.com/developing/story/using-google-maps-android)謝謝。 – 2011-03-31 11:41:28

+0

這裏是完整的mapview教程:[使用谷歌地圖 - 機器人](http://mobiforge.com/developing/story/using-google-maps-android)希望它可以幫助.. – Udaykiran 2011-03-31 11:37:39

回答

1

你得到了覆蓋的範圍內,但需要的MapView活動的背景下,它爲我這樣

public Context mycontext; 
public ItemizedOverlay(Drawable defaultMarker,Context ctx) { 
    super(boundCenterBottom(defaultMarker)); 
    mycontext = ctx; 
    // TODO Auto-generated constructor stub 
} 
+0

謝謝我沒有' t做的是「boundCenterBottom」,我把「this」放在main裏。 – Tsunaze 2011-03-31 12:11:53

+0

不要忘記限制CenterBottom你設置的每一個drawable而不是默認值(如果你這樣做的話) – 2red13 2011-03-31 12:20:01

0

我前兩天遇到了同樣的問題,所以在HelloGoogleMaps你所寫的

HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable, this); 

而且在itemizedoverlay

Context mContext; 
    public HelloItemizedOverlay(Drawable defaultMarker, Context context) { 
     super(defaultMarker); 
     mContext = context; 
    } 

我認爲這會工作...

1

如果你想顯示AlarmDialog像教程,那麼你是從getApplicationContext()獲取上下文是不是你需要的人。你需要一個ContextActivity

通過它thisYourActivity.this(這是同樣的事情)。