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);