代码名称:用find.search实现精确查找,并将结果高亮显示

作者/收集者:fangyan51

开发环境:Delphi + MapX

代码:

var
  findcity:mapxlib_tlb.findfeature;
  ds:mapxlib_tlb.dataset;
  lyr:mapxlib_tlb.layer;
begin
  lyr:=map1.Layers.Item[2];
  ds:=map1.DataSets.Add(miDatasetLayer,lyr,emptyparam,emptyparam, emptyparam,emptyparam,emptyparam,emptyparam);
  lyr.Find.finddataset:=ds;
  lyr.Find.FindField:=ds.Fields.Item['roadid'] ;   //限定查找字段
  findcity:=lyr.find.search(edit_roadid.text,emptyparam);
  if(findcity.FindRc mod 10 = 1) then   //  精确查找
   begin
      map1.ZoomTo(map1.Zoom, findcity.CenterX,findcity.CenterY);
      lyr.Selection.Replace(findcity);     //高亮显示;
   end
   else showmessage('没找到');
end;