我有一个包含多个点的 map 叠加层,每个点都有自己的编号标记。这些点按照我希望绘制的顺序在叠加层中(即从标记 0 到 10 - 10 是最新点)。显示 map 时,点似乎是按纬度递增的顺序绘制的。这意味着在我的情况下,点 7 的标记可能绘制在点 10 的标记之上。是否有任何方法可以控制标记在 map 上的布局顺序?
最佳答案
我找到了 - 我添加了以下代码,它似乎可以工作。这会强制按照它们在叠加层中的相同顺序绘制项目,而不是按照增加纬度的顺序。
有趣的是,如果您选择不同的顺序(例如颠倒),那么 map 将按照您的要求显示,较早的条目会覆盖较晚的条目。即,如果点 7 具有相同的 map 坐标,则点 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
}
关于android - 我可以更改 map 叠加层中的点在 map 上绘制的顺序吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7980565/