Как нарисовать точку

0 голосов
спросил 13 Май, 08 от CharlyX (480 баллов) в категории Программные продукты Esri
Есть ArcGis 9.2
Как можно временно нарисовать точку по координатам, без слоя?
Или может быть есть какой-нить виртуальный слой?

6 Ответы

0 голосов
ответил 14 Май, 08 от CharlyX (480 баллов)
Разобрался, но вот не пойму почему она исчезает?
Делаю так:

    pt := CoPoint.Create as IPoint;
    pt.Set_X(aX);
    pt.Set_Y(aY);

    dummy := CoRgbColor.Create ;
    pRGBColor := (dummy As IRgbColor) ;
      //Set point color
    pRgbColor.Set_Red(255);
    pRgbColor.Set_Green(0);
    pRgbColor.Set_Blue(0);

    dummy := CoSimpleMarkerSymbol.Create ;
    pSimpleMarker := (dummy As ISimpleMarkerSymbol) ;
    pSimpleMarker.Set_Size(8) ;
    pSimpleMarker.Set_Style(esriSMSCircle) ;
    pSimpleMarker.Set_Color(pRGBColor) ;

    pSymbol := pSimpleMarker ;

    MapControl1.DrawShape(pt,pSymbol);

После рефреша исчизает :( Подскажите как сделать чтобы не исчезала?

0 голосов
ответил 14 Май, 08 от Grigoriy (127,020 баллов)
http://edndoc.esri.com/arcobjects/9.2/NET/35db2220-8004-4588-8629-dafaca5a6b11.htm
Или если не нужно динамически изменять координату точки, то просто используйте графический контейнер.
см. http://edndoc.esri.com/arcobjects/9.2/CPP_VB6_VBA_VCPP_Doc/COM_Samples_Docs/ArcMap/a59e7d67-4648-4075-a156-36c1937deb9a.htm
вместо ITextElement используйте IMarkerElement
0 голосов
ответил 15 Май, 08 от CharlyX (480 баллов)
А что потом с этим контейнером делать?
Как отобразить что в нём?
0 голосов
ответил 15 Май, 08 от CharlyX (480 баллов)
Сделал так:

    MapControl1.ActiveView.Get_GraphicsContainer(pGraphicsContainer);
   
    pElement := CreateComObject(CLASS_CircleElement) as IElement;

    pElement.Set_Geometry(pt as IGeometry);

    pGraphicsContainer.AddElement(pElement,0);

    MapControl1.ActiveView.PartialRefresh(esriViewGraphics, nil, nil);

Ничё не показывает :(
0 голосов
ответил 15 Май, 08 от CharlyX (480 баллов)
Обозвал
pElement := CoMarkerElement.create as IElement;

и всё пошло.

НО... отображается красным прямоугольником.
Как изменить на круг и поменять цвет??
0 голосов
ответил 16 Май, 08 от Tatkis (2,420 баллов)
Создайте ISimpleMarkerSymbol, задайте ему параметры (размер и style например) и присвойте элементу
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...