Delphi FMX MapView - 删除所有标记

时间:2016-09-25 07:22:22

标签: android delphi google-maps-markers android-mapview firemonkey

我有TMapView并使用MapView1.AddMarker(...)在其上放​​置了一些TMapMarkerDescriptors,但我如何从中清除地图(删除所有放置的marers)?

我无法在文档中找到MapView.Clear。

2 个答案:

答案 0 :(得分:0)

看来你必须单独删除每个标记,这意味着你必须存储对你创建的TMapMarker对象的引用。 TMapMarker(MapView1.AddMarker调用的结果)有两种方法。 “删除”会从地图中删除标记,而“DisposeOf”会从地图中删除标记并释放TMapMarker对象。

答案 1 :(得分:0)

好的,这很好用

var
   mar : array of  TMapMarker;

procedure TForm1.clear_markers;
var
i:integer;
begin
for i:=0 to high(mar) do
  begin
  mar[i].Remove;
  end;
setlength(mar,0);
end;

此代码循环放置了标记。 变量 loc s 从数据库

加载
setlength(mar,length(mar)+1);
Descr := TMapMarkerDescriptor.Create(loc, s);
mar[high(mar)]:=MapView1.AddMarker(Descr);