首先,我在这里继承了很多代码,尽管我已经仔细研究了几次,寻找这种行为的原因,但我还是被难住了。
我希望最后一次点击的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);

当做。

08-04 16:23