【问题标题】:Dynamically adding markers to map - Android app using google maps动态添加标记到地图 - 使用谷歌地图的 Android 应用
【发布时间】:2020-01-16 09:14:48
【问题描述】:

我已经找了一段时间了,但没有找到任何有用的帖子,所以我想在这里问一下。我正在开发一个应用程序,它可以根据收到的数据从服务器中检索纬度和经度以及其他一些数据,并在地图上添加标记。我的问题是我是否可以向应用程序添加一个函数,以便在数据库中添加另一行(纬度+经度),以便从我的应用程序动态地在地图上添加标记,而无需使用刷新按钮调用 OnMapReady 每时间(我的addMarker(); 在那里,所以现在我实现了一个按钮来再次调用它,从而查询数据库并在mMap.clear(); 之后再次添加所有标记)

【问题讨论】:

  • 这将帮助您解决问题:stackoverflow.com/questions/30569854/…
  • 我的地图上添加了标记。我的问题是如何更改代码以始终观察数据库并在将另一组经纬度添加到数据库中时自动添加另一个标记。我知道如何添加它们,我不知道如何保持与 DB 的恒定链接以观察更改(如果我删除表中的一行以清除标记等,而无需手动按下任何按钮)

标签: android google-maps


【解决方案1】:

我会使用 Rx 并监听/观察您的数据库来完成。在您看来,您可以使用以下内容订阅此 Flowable/Observable。我使用Room 数据库。如果您是本主题的新手,请在此处搜索如何收听房间数据库更改或只是谷歌教程

之类的答案
@Query("SELECT * FROM yourMapDatabase")
abstract fun observeAll(): Flowable<List<LatLng>>

如果您正在收听后端数据库。您也可以这样做,只需将您请求的数据写入您自己的数据库并更新您的视图。

希望对您有所帮助,如果您还有其他问题,请出手!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-23
    • 1970-01-01
    • 1970-01-01
    • 2013-07-26
    • 1970-01-01
    相关资源
    最近更新 更多