我有TMapView并使用MapView1.AddMarker(...)在其上放置了一些TMapMarkerDescriptors,但我如何从中清除地图(删除所有放置的marers)?
我无法在文档中找到MapView.Clear。
答案 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);