【问题标题】:Update marker position on database update Android在数据库更新Android上更新标记位置
【发布时间】:2026-01-09 18:10:01
【问题描述】:

我有一组保存在 MySQL 数据库中的纬度和经度。我将它们绘制在我的地图上:

 for (int i = 0; i < jArray.length(); i++) {
            JSONObject json_data = jArray.getJSONObject(i);
                    double lat = json_data.getDouble("lat");
                    double lng= json_data.getDouble("long");
            MyItem offsetItem = new MyItem(lat, lng);
            mClusterManager.addItem(offsetItem);

(我使用异步任务来获取位置并保留了一个计时器来继续调用该任务) 这些位置对应于特定车辆,因此我计划使用此链接添加它

Showing custom InfoWindow for Android Maps Utility Library for Android.

我的问题是,一旦特定条目的位置在数据库中更新,我需要找到该标记并将标记移动/动画到新的新位置。

我怎样才能做到这一点?

【问题讨论】:

    标签: android google-maps


    【解决方案1】:

    创建标记时,您需要将它们存储在某个位置,例如数组或列表。您需要以将标记与位置相关联的方式识别每个标记。标记有一个在地图上唯一的ID 属性,因此您可以尝试使用它。或者,您可以使用 Title 或 InfoWindow 中的内容来区分标记。您也可以尝试使用position 标记,假设您可以在更新之前检索“旧”位置。无论您使用哪种方法,一旦找到匹配项,您就可以使用setPosition 更新标记位置。

    还有一些third party libraries 可以用来检索标记。

    【讨论】:

    • clusterManager 自动创建一个列表。不得不使用 Handler 来创建一个可以改变应用程序 UI 的新线程,但最终代码工作了!非常感谢。
    最近更新 更多