Android Mapview:控制多种类型覆盖项的排序?

Android Mapview:控制多种类型覆盖项的排序?,android,android-mapview,itemizedoverlay,Android,Android Mapview,Itemizedoverlay,我在这个问题上搜寻了一段时间,但找到了特朗普 我有一个简单的mapview,它使用了上的自定义覆盖项,我们称它们为redOverlayItem和blueOverlayItem。ManagedVerlay所做的只是查询我的数据库中一组不同类型的位置,然后将它们异步放置在地图上 我的托管覆盖工作正常,但我似乎无法控制“z”顺序。例如,有时我有redOverlayItem的覆盖blueOverlayItem,反之亦然,我真的希望redOverlayItem位于顶部 关于如何解决这个问题,我已经想尽了办

我在这个问题上搜寻了一段时间,但找到了特朗普

我有一个简单的mapview,它使用了上的自定义覆盖项,我们称它们为
redOverlayItem
blueOverlayItem
。ManagedVerlay所做的只是查询我的数据库中一组不同类型的位置,然后将它们异步放置在地图上

我的托管覆盖工作正常,但我似乎无法控制“z”顺序。例如,有时我有
redOverlayItem
的覆盖
blueOverlayItem
,反之亦然,我真的希望
redOverlayItem
位于顶部


关于如何解决这个问题,我已经想尽了办法。我如何控制多种类型的重叠项的顺序?

好了,伙计们,我想起来了

在覆盖中,需要覆盖getIndexToDraw

//Overriding to return add order rather than latitude order.
protected int getIndexToDraw(int drawingOrder) {
    return drawingOrder;
}
我现在所做的不是调用super.getIndexToDraw(int),它返回按纬度值排序的项目,而是返回它们的添加顺序。然后,我对我的覆盖数组所做的就是相应地对它们进行排序(我使用的是Rob Carmick的,但实际上你可以使用任何排序功能)


好了,伙计们,我知道了

在覆盖中,需要覆盖getIndexToDraw

//Overriding to return add order rather than latitude order.
protected int getIndexToDraw(int drawingOrder) {
    return drawingOrder;
}
我现在所做的不是调用super.getIndexToDraw(int),它返回按纬度值排序的项目,而是返回它们的添加顺序。然后,我对我的覆盖数组所做的就是相应地对它们进行排序(我使用的是Rob Carmick的,但实际上你可以使用任何排序功能)