相关疑难解决方法(0)

从GoogleMap中删除标记

在适用于Android的新Google Maps API中,我们可以添加标记,但无法(轻松)删除标记.

我的解决方案是将标记保留在地图中并在我想删除标记时重绘地图,但效率不高.

private final Map<String, MarkerOptions> mMarkers = new ConcurrentHashMap<String, MarkerOptions>();

private void add(String name, LatLng ll) {
  final MarkerOptions marker = new MarkerOptions().position(ll).title(name);
  mMarkers.put(name, marker);

  runOnUiThread(new Runnable() {
    @Override
    public void run() {
      mMap.addMarker(marker);
    }
  });
}

private void remove(String name) {
  mMarkers.remove(name);

  runOnUiThread(new Runnable() {
    @Override
    public void run() {
      mMap.clear();

      for (MarkerOptions item : mMarkers.values()) {
        mMap.addMarker(item);
      }
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

有没有人有更好的主意?

android google-maps

109
推荐指数
5
解决办法
9万
查看次数

标签 统计

android ×1

google-maps ×1