我有一个地图叠加层,其中包含多个点,每个点都有自己的编号标记。这些点按照我希望它们绘制的顺序位于叠加层中(即从标记0到10 - 其中10是最新点)。显示地图时,似乎按照增加纬度的顺序绘制点。这意味着在我的情况下,点7的标记可以在标记10的顶部绘制。是否有任何方法可以控制标记在地图上的排列顺序?
答案 0 :(得分:1)
我找到了 - 我添加了以下代码,它似乎工作。这会强制按照与叠加中相同的顺序绘制项目,而不是按照增加纬度的顺序绘制。
有趣的是,如果你选择一个不同的顺序(例如反转),那么地图将显示为你提出的问题,之前的条目会覆盖以后的条目。即,如果它们都具有相同的地图坐标,则点7将被绘制在点10的顶部。然而,当您点击显示为第7点的内容时,onTap方法将为您提供第10点的索引(可能是因为它在序列中被绘制了第10个),这可能会引起您的混淆。然后由您来记住您要求显示的点序列,并确定哪个条目实际位于顶部。
@Override
protected int getIndexToDraw(int drawingOrder) {
// Log.d("getIndexToDraw", "drawing order: " + drawingOrder); //just my debug
return drawingOrder; // forces order to follow overlay item sequence
// return super.getIndexToDraw(drawingOrder); // default code - ie Latitude order
}