Записать объект слоя карты
function WriteMapObject(MOS: TMapObjectStructure;
flSaveSemantic: boolean = false;
refreshMapType: TRefreshMapType = rmtNone): integer;
MOS
flSaveSemantic
refreshMapType
Все параметры записываемого объекта, включая код слоя, уникальный индекс объекта, тип и уникальный идентификатор стиля должны быть заданы в экземпляре класса структуры объекта MOS, при этом если уникальный индекс объекта (oIndex) и уникальный идентивикатор (oMUID) равны -1 , то создается новый объект, если уникальный индекс объекта (oIndex) равен -1, а уникальный идентивикатор (oMUID) задан, то объект будет записан по уникальному идентивикатору. Если уникальный идентификатор стиля объекта равен -1, то берется первый стиль слоя, соответствуюший типу объекта. список семантических полей, значения которых должны быть записаны для объекта, должен находиться в свойстве FieldList объекта MOS, а их значения - в свойстве ValueList объекта MOS, для пустых полей значение свойства "Object" соответствующего элемента должно быть равно TObject(1); для сихронного заполнения списка полей и их значений можно использовать метод SetFieldValue объекта MOS/
var MOS: TMapObjectStructure; lCode: integer; oIndex: integer; oType: integer; oStyleID: int64; Count: integer; i0,i1,Count: integer; ofl: word; x,y: double; begin MOS:=TMapObjectStructure.Create; lCode:=99; oType:=0 // площадной объект oStyleID:=123456789 // ID стиля>; ofl:=0; oIndex:=2; // Для ввода нового объекта oIndex:=-1; MOS.AddSubObject(3); MOS.AddVertex(0,100,100); MOS.AddVertex(0,200,100); MOS.AddVertex(0,200,200); MOS.AddSubObject(4); MOS.AddVertex(0,300,300); MOS.AddVertex(0,300,400); MOS.AddVertex(0,400,400); MOS.AddVertex(0,300,400); Mappl.WriteMapObject(MOS,lCode,oIndex,oType,oStyleID,ofl,false); MOS.Free; end;