- 지도 컴포넌트를 AUD Designer에서 편집, 실행할 수 있습니다.
- 세부 기능
- zoom-in, zoom-out: 지도에서 표시하는 영역을 zoom-in , zoom-out 하여 확인할 수 있습니다.
- undo,redo: load되었던 지도 정보를 기억하여 undo, redo 하며 history를 확인할 수 있습니다.
Property 명 | Property 설명 |
---|
Source | | Features | | UseHighlightStyle | - feature mouseover시의 하이라이트 기능 사용 유무. (default:false)
| HighlightStyle | - feature mouseover시의 하이라이트 기능의 style 객체
- 변경 가능한 속성: stroke(color, width), fill(color)
펼치기 |
---|
language | text |
---|
theme | FadeToGrey |
---|
firstline | 1 |
---|
title | Method |
---|
linenumbers | true |
---|
collapse | true |
---|
| - getStroke(): stroke 반환
- setColor(color): stroke의 color를 설정합니다.
- setWidth(width): stroke의 width를 설정합니다.
- getFill(): fill 반환
- setColor(color): fill의 color를 설정합니다.
|
| DefaultMapStyle | Map의 기본 style 객체 - 변경 가능한 속성: stroke(color, width), fill(color), font(color,size)
펼치기 |
---|
language | text |
---|
theme | FadeToGrey |
---|
firstline | 1 |
---|
title | Method |
---|
linenumbers | true |
---|
collapse | true |
---|
| - getStroke(): stroke 반환
- setColor(color): stroke의 color를 설정합니다.
- setWidth(width): stroke의 width를 설정합니다.
- getFill(): fill 반환
- setColor(color): fill의 color를 설정합니다.
- getFont(): font 반환
- setColor(color): font의 color를 설정합니다.
- setSize(width): font의 size를 설정합니다.
|
| UseDragPan | Map의 interaction 객체의 DragPan 사용 유무를 설정 코드 블럭 |
---|
language | js |
---|
theme | Eclipse |
---|
title | 예제 코드 |
---|
linenumbers | true |
---|
| map.UseDragPan = true; // 드래그를 통해 지도 내에서 이동할 수 있습니다. |
| UseMouseWheelZoom | Map의 interaction 객체의 MouseWheelZoom 사용 유무를 설정 코드 블럭 |
---|
language | js |
---|
theme | Eclipse |
---|
title | 예제 코드 |
---|
linenumbers | true |
---|
| map.UseMouseWheelZoom = true; // 마우스 휠로 줌을 설정할 수 있습니다. |
|
Method 명 | Method 설명 |
---|
Update() | Map의 style 속성, feature의 style 속성값 변경 후 해당 Method를 실행하면 변경된 값에 맞게 Map의 Layer가 change됩니다. | Clear() | Map의 모든 layer의 source가 refresh, 즉 초기화됩니다. | LoadMap(GeoJSON) | feature 정보가 존재하는 featureCollection 타입의 GeoJSON을 전달받아 Map이 Load됩니다. | getFeature(featureLabelName) | 매개 변수 featureLabelName과 feature 객체의 LABEL 속성값과 일치하는 feature를 반환합니다. 펼치기 |
---|
| - setStyleProperty(propertyName, propertyValue): 해당 객체의 style 속성을 설정합니다. 설정한 style 속성값은 Update() 실행 후 반영됩니다.
- 변경 가능한 속성: FILLCOLOR, FONTCOLOR, FONTSIZE, FONTWEIGHT
- ex) feature.setStyleProperty("FILLCOLOR","#C2C2C5");
|
| setFeaturesStyleProperties(dataTable) | 매개 변수 dataTable의 각 row의 'LABEL' column의 data와 자신의 LABEL 속성값과 일치하는 featrue의 style 속성을 변경, 설정합니다. 변경 가능한 속성은 setStyleProperty와 동일합니다. | addMarker(markerInfos) | 매개 변수 markerInfos정보에 맞는 위치에 Marker를 생성하고, 해당 Marker 객체를 반환합니다. - markerInfos : Array<object> 예시)
코드 블럭 |
---|
language | js |
---|
title | markerInfos 예시 |
---|
collapse | true |
---|
| [{'name' : '세방빌딩',
'id' : 'ID_AA',
'lonLat': ['127.0448', '37.5038']},
{'name' : '경복궁',
'id' : 'ID_BB',
'lonLat': ['126.9602', '37.5788']} ] |
펼치기 |
---|
| - setImg(imgUrl, imgScale): 기본 제공 마커 이미지 대신 다른 이미지를 원하는 scale에 맞춰 설정합니다.
- imgUrl: contextpath/reports/WEB_IMAGES 아래의 이미지 파일
- removeMarkers(id): 매개 변수 id에 해당하는 marker를 제거합니다. id가 undefined일 경우, 모든 marker를 제거합니다.
- getId(): 해당 marker의 id를 반환합니다.
|
| addLine(locations) | 매개 변수 locations 정보에 맞는 위치에 Line을 생성하고, 해당 Line 객체를 반환합니다. 펼치기 |
---|
| - setColor(color): line 객체의 color를 설정합니다. Update() 실행 후 UI가 변경됩니다.
- setWidth(width): line 객체의 width를 설정합니다. Update() 실행 후 UI가 변경됩니다.
- setLineDash(linedash): line 객체의 lineDash style를 설정합니다. Update() 실행 후 UI가 변경됩니다.
- setLineCap(lineCap): line 객체의 line style를 설정합니다. Update() 실행 후 UI가 변경됩니다.
- removeLines(coordinate): 매개 변수 coordinate에 해당하는 line를 제거합니다.
|
| createTooltip() | 지도 위의 특정 feature 위에 마우스를 올리면 해당 위치에 Tooltip을 생성하고 Tooltip객체를 반환합니다. Tooltip에는 feature의 'label' 정보가 표시됩니다. 펼치기 |
---|
| Tooltip 객체 Method 명 | 매개변수 | Data Type | Method 설명 |
---|
show() |
|
| Tooltip을 화면에 표시합니다. | hide() |
|
| 현재 표시되고 있는 Tooltip을 숨깁니다. | delete() |
|
| Tooltip 객체를 삭제합니다. | setText(text) | text | string | Tooltip에 표시할 텍스트를 지정합니다.
|
Tooltip Style 객체 Method 명 | 매개변수 | Data Type | Method 설명 |
---|
get BackgroundColor |
| string | Tooltip의 배경색을 반환합니다. | set BackgroundColor(color) | color | string | Tooltip의 배경색을 설정합니다. | get Color |
| string | Tooltip의 폰트 색을 반환합니다. | set Color(color) | color | string | Tooltip의 폰트 색을 설정합니다. | get Size |
| int | Tooltip의 폰트 사이즈를 반환합니다. | set Size(size) | size | int | Tooltip의 폰트 사이즈를 설정합니다. | get Width |
| int | Tooltip의 너비를 반환합니다. | set Width(width) | width | int | Tooltip의 너비를 설정합니다. | get Height |
| int | Tooltip의 높이를 반환합니다. | set Height(height) | height | int | Tooltip의 높이를 설정합니다. |
코드 블럭 |
---|
language | js |
---|
theme | Eclipse |
---|
title | 예제 코드 |
---|
linenumbers | true |
---|
collapse | true |
---|
| var toolTip = null;
var toolTipStyle = null;
Map.OnMapLoaded = function(){
if(!toolTip) toolTip = Map.createTooltip(); // 툴팁은 한 번만 생성
}
Map.OnFeatureMouseOver = function(args){
var feature = args.feature;
if(feature){
if(toolTip){
var label = feature.get('LABEL');
toolTipStyle = toolTip.Style; // 툴팁의 스타일 객체
switch(label){
case '서울특별시':
case '제주특별자치도':
var text = label + '<br>입니다!';
toolTip.setText(text);
toolTipStyle.BackgroundColor = '#ffcc80';
toolTipStyle.Color= '#151a27';
break;
}
}
}
}
|
|
|
Event 명 | Event 설명 |
---|
OnMapLoaded | LoadMap이 끝난 후, 즉 Map이 load되고 나서 발생합니다. | OnFeatureClick | Map의 어떠한 Feature를 click시 발생합니다. 해당 Feature 객체를 전달받습니다. | OnFeatureMouseOver | Map의 어떠한 Feature를 mouseover시 발생합니다. 해당 Feature 객체를 전달받습니다. | OnFeatureMouseOut | Map의 어떠한 Feature를 mouseover시 발생합니다. 해당 Feature 객체를 전달받습니다. 단, feature가 없는 경우, undefined를 전달합니다. | OnMarkerClick | Map에 Marker가 존재하고 해당 Marker를 click시 발생합니다. 해당 Marker 객체와 아래 Layer의 Feature 객체를 전달받습니다. | OnMarkerMouseOver | Map에 Marker가 존재하고 해당 Marker를 mouseover시 발생합니다. 해당 Marker 객체를 전달받습니다. |
경고 |
---|
| (BCRM#D3511) [i-AUD] 국내 지도(GeoMap) 컴포넌트 마우스 포인터 위치에 따른 툴팁 기능 추가 이슈 작업으로 인해, Geomap Componenet Event에서 전달하는 객체의 타입이 일괄 변경되었습니다. - AS-IS: 객체 한개 혹은 Array로 전달
- TO-BE: object로 전달
Event 명 | 변경 전 객체 | 변경 후 객체 |
---|
OnFeatureClick | feature | e.point e.feature (변경 전 feature와 동일) | OnFeatureMouseOver | feature | e.point e.feature (변경 전 feature와 동일) | OnFeatureMouseOut | feature | e.point e.feature (변경 전 feature와 동일) | OnMarkerClick | [ markerFeature, layerFeature ] | e.point e.marker (변경 전 markerFeature와 동일) e.feature (변경 전 layerfeature와 동일) | OnMarkerMouseOver | markerFeature | e.point e.marker (변경 전 markerFeature와 동일) |
|
도움말 |
---|
title | (BCRM#D3511) [i-AUD] 국내 지도(GeoMap) 컴포넌트 마우스 포인터 위치에 따른 툴팁 기능 추가 |
---|
| 해당 개선 작업으로 아래와 같이 추가되었습니다. - 툴팁: Geomap 컴포넌트에서 기본으로 제공하는 기능입니다.
- 사용 방법은 위 createTooltip() 메소드 설명을 참고해주세요.
- 툴팁은 Geomap 컴포넌트의 viewport 내에서만 움직입니다.
- 간단한 style 변경이 가능합니다.
- 팝업: 툴팁보다 다양한 UI를 원하는 사용자들을 위한 기능입니다.
- Geomap 컴포넌트의 event마다 전달해주는 pointEvent의 위치를 이용합니다.
- AUD의 UserComponent를 이용한 샘플 보고서와 아래 가이드를 참고해주세요.
- 샘플 보고서: GeoMap 컴포넌트(국내지도) 팝업 보고서
- 가이드:
- 뷰어 보고서의 스크립트 가이드
팝업 기능 사용을 위한 함수 정의 코드 블럭 |
---|
| this.initMAP = function(){
var _this = this;
//팝업 샘플을 사용하기 위한 UserComponent보고서 정의
this.RPT_POPUP = Matrix.getObject('RPT_POPUP'); // UserComponent 보고서
this.RPT_POPUP.Visible = false; // init 기본은 숨김
this.RPT_POPUP.OnLoaded = function(s, e){
_this.mPopupScript = e.ScriptObject; // UserComponent의 Script Object
_this.mPopupScript.GetRect(_this.RPT_REPORT.Left,_this.RPT_REPORT.Top,_this.RPT_POPUP.Width, _this.RPT_POPUP.Height); // Geomap Component의 viewport가 아닌, 해당 viewer 보고서 안에서 띄우기 위해 사용하는 파라미터를 전달합니다.
};
this.RPT_REPORT = Matrix.getObject("RPT_REPORT");
this.RPT_REPORT.OnLoaded = function(s, e){
_this.mMapScript = e.ScriptObject;
_this.mMapScript.CreateAddin(function(component){
mapComponent = Object.assign(component, mapComponent);
});
};
};
//팝업 샘플 사용을 위한 함수: ShowPOPUP, HidePOPUP, SetMySizeToPOPUP
this.ShowPOPUP = function(point, code){ // 팝업을 띄웁니다.
if(!this.RPT_POPUP.Visible){
this.RPT_POPUP.Visible = true;
}
var position = this.mPopupScript.ShowPOPUP(point, code);
this.RPT_POPUP.Left = position.x; // position을 전달받아 팝업을 이동시킵니다.
this.RPT_POPUP.Top = position.y;
}
this.HidePOPUP = function(){ // 팝업을 숨깁니다.
if(this.RPT_POPUP.Visible){
this.RPT_POPUP.Visible = false;
}
};
this.SetMySizeToPOPUP = function(size){ // 팝업 보고서에게 viewer 보고서 자신의 사이즈를 전달합니다.
if(this.mPopupScript){
this.mPopupScript.GetParentViewSize(size);
}
}
//팝업 샘플 사용을 위한 함수: ShowPOPUP, HidePOPUP, SetMySizeToPOPUP |
a에서 정의한 함수 사용 예시 코드 블럭 |
---|
| // Geomap의 이벤트
mapComponent.OnFeatureMouseOver = function(e){
var feature = e.feature;
if(feature) {
var point = e.point;
if(point){
MAIN_FORM.ShowPOPUP(point, feature.get('GID_1')); // point 위치와 팝업보고서에 전달할 코드값을 전달합니다.
}
}
};
mapComponent.OnFeatureMouseOut = function(e){
var feature = e.feature;
if(feature) {
var point = e.point;
if(point){
MAIN_FORM.ShowPOPUP(point, feature.get('GID_1'));
}
}else {
MAIN_FORM.HidePOPUP(); // feature 객체가 없는 경우( = 바다 영역인 경우) 팝업을 숨깁니다.
}
}
};
// AUD 제공 기본 이벤트
/**************************************
* 뷰어의 사이즈가 변경될 때 발생합니다.
* * arguments :
* double Width (Readonly:False) : 뷰어의 넓이
* double Height (Readonly:False) : 뷰어의 높이
**************************************/
var OnViewerSizeChanged = function(sender, args){
var size = {
Width: args.Width,
Height: args.Height
}
MAIN_FORM.ResizeMAP();
MAIN_FORM.SetMySizeToPOPUP(size); // 뷰어 사이즈가 변경될 때마다 팝업 보고서에게 자신의 사이즈를 다시 전달합니다.
}; |
- 팝업 샘플 보고서의 스크립트 안내
|
정보 |
---|
| 해당 가이드에서 제공하는 별도 패치 파일 없이는 GeoMap 컴포넌트를 사용하실 수 없습니다. |
참고사항 |
---|
| 해당 기능은 ie11에서 사용 불가능합니다. |
정보 |
---|
| 샘플 URL : https://rnd.bimatrix.co.kr/aud7/portal/Content.jsp?id=REPB12E00F9EAB0463FB7B16DD65DA4687D 샘플 파일 첨부 파일 |
---|
patterns | .*jsp,.*zip,.*xml,.*js,.*mtsd,.*xlsx,.*xlsb,.*mtzb,.*mtvx,.*mtx,.*mtxz, |
---|
|
|
변경 전/후 제품 버전 | 변경 전(제품 버전) | 변경 후(제품 버전) |
---|
변경 전 : 변경 후 : | | |
|