android - 我可以更改 map 叠加层中的点在 map 上绘制的顺序吗

标签 android maps overlay points

我有一个包含多个点的 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/

相关文章:

css - 全 Angular 谷歌地图和 CSS

c++ - DirectX 9 或 10 覆盖

java - 使用 bundle 传递多个数组

android - 将 OSMDroid 滚动限制到特定的边界框和缩放级别

python - 从 for 循环创建 json 对象数组

css - 用css将一个div覆盖在另一个div上

overlay - 如何以编程方式使用Jquery工具Overlay?

android - 实现 Firebase 实时数据库时,我应该创建一个契约(Contract)类吗?

android - 改造多个 POST 参数

android - 使用 iText 从 drawable 获取图像并添加到 PDF