0
我想在地圖最後停止移動後得到屏幕中心。我注意到這沒有標準的SDK事件。我看到了一些技巧,例如override MapView.onTouchEvent,或者在ACTION_UP上啓動重複定時器並等待地圖移動結束。從Mapview.draw發送消息到活動
我期待在覆蓋MapView.draw: -
@Override
public void draw(Canvas canvas) {
super.draw(canvas);
Log.e(TAG, "draw");
center = this.getMapCenter(); //(GeoPoint)
if (centerSave != null){
if (centerSave.equals(center)){
Log.e(TAG, "map stopped moving");
// Now what goes here?????
}
}
centerSave = center;
}
這「一扔結束」檢測是簡單一些,然後我看到了別人,而是因爲它運行它也許裝載CPU多一點在每場比賽中。
我現在想發送一些消息/事件到我的MapActivity,說地圖已停止移動。 MapActivity然後會在地圖中心放置一個圖釘。
如何發送此消息?
它不是線程之間的消息,而是2個不同的類之間的消息。可能有一種簡單的技術,但訣竅在於瞭解它。
感謝所有幫助
彼得
編輯:我使用的是處理程序將消息發送到UI線程。不幸的是,它並沒有解決投擲問題,(但它是一種改進)。
// Now what goes here????
Message m = Message.obtain();
m.what = MyApplication.HANDLE_DRAW_TO;
MyApplication.tabbedMapActivityHandler.dispatchMessage(m);