首先,我在这里继承了很多代码,尽管我已经仔细研究了几次,寻找这种行为的原因,但我还是被难住了。
我希望最后一次点击的OverlayItem
在其他的上面,即使它看起来很傻。我看到的是,当MapView
正在设置动画(使OverlayItem
居中)时,它完全按照我的要求执行,然后当它完成时,“选定的一个”再次跳到背景。
这是默认行为吗?或者我的密码里有什么东西把这一切搞砸了?
设置动画时:
一旦定心动画完成:
我可以看到一些解决这个问题的方法(用OverlayItem
方法绘制选定的draw()
我自己,或者确保选定的是最后一个绘制的),但是在这种情况下人们会怎么做?或者这只是我需要撤销的代码中某个地方的bug?
最佳答案
我相信当你把焦点放在一个特定的OverlayItem
上时,它会被带到前面。类似于:
myItemizedOverlay.setFocus(overlayItem);
有了这个,你就不需要一直玩物品订单了。
——编辑——
//Define this class level field
private Handler mHandler = new Handler();
//Use this after starting animation
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
myItemizedOverlay.setFocus(overlayItem);
mapView.invalidate();
}
}, 500);
当做。