| |
|
|
function MakeCircle()
{
var ctrlman = m_Map.GetCtrlMan();
var ctrlstate = ctrlman.GetControlState();
var layerMan = ctrlman.GetLayerMan();
var centerLL = ctrlstate.GetLLCenter();
var util = m_Map.GetUtility();
var pos = util.GetMapPos();
pos._Lon = centerLL._X;
pos._Lat = centerLL._Y;
// Step 1. Make Layer Style
var style = layerMan.FindStyle(1);
if (!style) {
style = layerMan.NewStyle(1);
style.SetPen(util.RGBColor(255, 0, 0), 0.3, util.GetConstToValue("PS_SOLID"));
style.SetBrush(util.RGBAColor(0, 0, 255, 100), util.GetConstToValue("BS_SOLID"));
}
// Step 2. Make LayerCircle
var circle = layerMan.NewCircle(100, -1);
circle.BeginUpdate();
circle.SetStyle(style);
// 내부가 채워진 원을 그립니다.
circle.SetClosed(1);
// 중심 좌표 설정
circle.SetCenter(pos);
// 반지름 설정
circle.SetRadius(600);
circle.EndUpdate();
}
function DeleteCircle()
{
var ctrlMan = m_Map.GetCtrlMan();
var layerMan = ctrlMan.GetLayerMan();
// ID값을 가진 XLayer 를 찾습니다.
var layer = layerMan.FindLayer(100);
if (layer) {
// XLayer 객체를 삭제 합니다.
layer.ClearObject();
}
}
|
|
|
|
CXLayerMan layerman = ctrlman.GetLayerMan();
CXUtility util = m_Map.GetUtility();
CXControlState ctrlstate = ctrlman.GetControlState();
CXPoint centerLL = ctrlstate.GetLLCenter();
CXPoint pos = util.GetMapPos();
pos.SetX(centerLL.GetX());
pos.SetY(centerLL.GetY());
CXLayerStyle style = layerman.FindStyle(400);
if (style.m_lpDispatch == NULL)
{
style = layerman.NewStyle(400);
style.SetPen(util.RGBColor(255, 0, 255), 1, util.GetConstToValue(_T("PS_SOLID")));
style.SetBrush(util.RGBAColor(0, 255, 25, 100), util.GetConstToValue(_T("BS_SOLID")));
}
CXLayerCircle Obj = layerman.NewCircle(1, -1);
Obj.BeginUpdate();
Obj.SetStyle(style);
Obj.SetCenter(pos);
Obj.SetClosed(1); // 0 : 선만 표시 1:내부에 Style 적용
Obj.SetShowDistance(1);
Obj.SetShowArea(1);
Obj.SetCanClick(1);
Obj.SetCanFocus(1);
Obj.SetRadius(100);
Obj.EndUpdate();
|
|