我有一个包含多个点的地图叠加层,每个点都有自己的编号标记。这些点按照我希望它们被绘制的顺序在叠加层中(即从标记 0 到 10 - 10 是最新点)。当地图显示时,点似乎是按照纬度增加的顺序绘制的。这意味着比在我的情况下,点 7 的标记可以绘制在点 10 的标记之上。有没有办法控制标记在地图上的布局顺序?
问问题
287 次
1 回答
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
}
于 2012-05-23T20:50:59.683 回答