KtMap
class의 생성자입니다
지도 생성 시 속성을 정의하는데 사용됩니다.
Edit in Playground Playground에서 테스트하기
Shift 키를 누른 상태에서 드래그 제스처를 사용하여 확대/축소를 구현하는 지도의 BoxZoomHandler입니다.
map.boxZoom.enable()
: boxZoom 상호작용 활성화 map.boxZoom.disable()
: boxZoom 상호작용 비활성화 map.boxZoom.isEnabled()
: boxZoom 상호작용 활성화 여부 반환 map.boxZoom.isActive()
: boxZoom 사용 중 여부 반환사용자가 두 번 클릭하여 확대/축소할 수 있는 지도의 DoubleClickZoomHandler입니다.
map.doubleClickZoom.enable()
: doubleClickZoom 상호작용 활성화 map.doubleClickZoom.disable()
: doubleClickZoom 상호작용 비활성화 map.doubleClickZoom.isEnabled()
: doubleClickZoom 상호작용 활성화 여부 반환 map.doubleClickZoom.isActive()
: doubleClickZoom 사용 중 여부 반환마우스 또는 터치 제스처로 지도 드래그를 구현하는 지도의 DragPanHandler입니다.
map.dragPan.enable()
: dragPan 상호작용 활성화 map.dragPan.disable()
: dragPan 상호작용 비활성화 map.dragPan.isEnabled()
: dragPan 상호작용 활성화 여부 반환 map.dragPan.isActive()
: dragPan 사용 중 여부 반환마우스 오른쪽 버튼 또는 Ctrl 키를 누른 상태에서 드래그하는 동안 지도 회전을 구현하는 지도의 DragRotateHandler입니다.
map.dragRotate.enable()
: dragRotate 상호작용 활성화 map.dragRotate.disable()
: dragRotate 상호작용 비활성화 map.dragRotate.isEnabled()
: dragRotate 상호작용 활성화 여부 반환 map.dragRotate.isActive()
: dragRotate 사용 중 여부 반환사용자가 키보드 단축키를 사용하여 지도를 확대/축소, 회전 및 이동할 수 있는 지도의 KeyboardHandler입니다.
map.keyboard.enable()
: keyboard 상호작용 활성화 map.keyboard.disable()
: keyboard 상호작용 비활성화 map.keyboard.isEnabled()
: keyboard 상호작용 활성화 여부 반환 map.keyboard.isActive()
: keyboard 사용 중 여부 반환 map.keyboard.enableRotation()
: keyboard 이동/회전 상호 작용 활성화 map.keyboard.disableRotation()
: keyboard 이동/회전 상호 작용 비활성화(확대/축소는 활성화)지도가 계속해서 다시 그려질지 여부를 나타내는 Boolean을 가져오고 설정합니다. 이 정보는 성능 분석에 유용합니다.
스크롤 휠 또는 트랙패드로 확대/축소를 구현하는 지도의 ScrollZoomHandler입니다.
맵이 데이터 소스의 모든 심볼 주위에 상자를 렌더링할지 여부를 나타내는 Boolean을 가져오고 설정하여 렌더링된 심볼 또는 충돌로 인해 숨겨진 심볼을 표시합니다. 이 정보는 디버깅에 유용합니다.
지도가 패딩 오프셋을 시각화할지 여부를 나타내는 Boolean을 가져오고 설정합니다.
맵이 각 타일 및 타일 ID 주위에 윤곽선을 렌더링할지 여부를 나타내는 Boolean을 가져오고 설정합니다. 이러한 타일 경계는 디버깅에 유용합니다. 첫 번째 벡터 소스의 압축되지 않은 파일 크기는 타일 ID 옆에 있는 각 타일의 왼쪽 상단 모서리에 그려집니다.
지도의 TwoFingersTouchPitchHandler는 사용자가 터치 제스처로 지도를 피치할 수 있도록 합니다.
map.touchPitch.enable()
: touchPitch 상호작용 활성화 map.touchPitch.disable()
: touchPitch 상호작용 비활성화 map.touchPitch.isEnabled()
: touchPitch 상호작용 활성화 여부 반환 map.touchPitch.isActive()
: touchPitch 사용 중 여부 반환지도의 TwoFingersTouchZoomRotateHandler는 사용자가 터치 제스처로 지도를 확대/축소하거나 회전할 수 있도록 합니다.
map.touchZoomRotate.enable()
: touchZoomRotate 상호작용 활성화 map.touchZoomRotate.disable()
: touchZoomRotate 상호작용 비활성화 map.touchZoomRotate.isEnabled()
: touchZoomRotate 상호작용 활성화 여부 반환 map.touchZoomRotate.isActive()
: touchZoomRotate 사용 중 여부 반환 map.touchZoomRotate.enableRotation()
: touchRotate(터치로 회전) 회전 상호작용 활성화 map.touchZoomRotate.disableRotation()
: touchRotate(터치로 회전) 회전 상호작용 비활성화(터치로 확대/축소는 활성화)지도에 컨트롤 추가합니다. 컨트롤 사용과 관련된 것은 각 Control 설명을 확인해주세요.
컨트롤
Optional
position: ControlPosition컨트롤 위치. top-left
, top-right
, bottom-left
, bottom-right
로 설정할 수 있습니다. 설정하지 않으면, 컨트롤 별 기본 위치로 설정됩니다.
this
map.addControl(new NavigationControl(), 'top-left')
지도에 이미지를 추가합니다.
loadImage로 이미지 로딩 성공 시 이미지를 추가할 수 있습니다.
이미지 ID
추가할 이미지
Optional
options: Partial<any>스타일의 이미지 메타데이터options: {content?:[number, number, number, number], pixelRatio?:number, sdf?:boolean, stretchX?:[number, number], stretchY?:[number,number]}
[number, number, number, number]
= 해당 이미지를 사용 중인 레이어에 icon-text-fit
이 있을 때, 콘텐츠로 덮을 수 있는 이미지 부분 number
= 화면의 실제 픽셀 대비 이미지의 픽셀 비율(기본값: 1) boolean
= sdf이미지 여부(기본값: false) [number, number]
= 해당 이미지를 사용 중인 레이어에 icon-text-fit
이 있을 때, 가로로 늘릴 수 있는 이미지 부분 [number, number]
= 해당 이미지를 사용 중인 레이어에 icon-text-fit
이 있을 때, 세로로 늘릴 수 있는 이미지 부분this
map.loadImage(
"https://map.gis.kt.com/mapsdk/images/blackcat.png", //추가할 이미지 url
(err:Error, image:ImageBitmap) => {
if (err) throw err; // 에러 핸들링
// 이미지를 "pattern"의 이름으로 추가합니다
map.addImage("pattern", image);
}
)
지도에 레어어를 추가합니다. 레이어는 소스를 참조하여 시각적 표현을 제공합니다.
레이어 속성인 type
은 background
, fill
, line
, symbol
, raster
, circle
, fill-extrusion
, heatmap
, hillshade
중 하나여야 합니다.
background
속성의 레이어를 제외한 다른 레이어들은 모두 source를 참조해야 합니다. 레이어는 source로 추가된 데이터를 가져오고, 선택적으로 feature를 필터링한 다음, 해당 feature가 스타일링 되는 방식을 정의합니다.
추가할 레이어
Optional
beforeId: string추가할 위치의 기존 레이어 ID, 추가한 레이어가 beforeId 레이어의 아래에 나타납니다. 지정하지 않으면 레이어 배열의 끝에 추가되어 시각적으로 다른 모든 레이어 위에 나타납니다.
this
polygon 형태의 test source를 layer에 추가하기
//test 이름의 source 추가
map.addSource('test', {
'type': 'geojson',
'data': {
'type': 'Feature',
'geometry': {
'type': 'Polygon',
'coordinates': [
[127.017000, 37.49000],
[127.017999, 37.49000],
[127.017999, 37.49999],
[127.017000, 37.49999],
[127.017000, 37.49000]
]
}}
});
//test source를 layer에 추가
map.addLayer({
'id': 'test',
'type': 'fill',
'source': 'test',
'layout': {},
'paint': {
'fill-color': '#088',
'fill-opacity': 0.8
}})
기존 레이어 앞에 새 심볼 레이어 추가
map.addLayer({
id: 'states',
source: 'state-source', //이전에 생성된 source
type: 'symbol',
layout: {},
}, 'before-layer'); // `before-layer`이름의 기존 레이어 앞에 새 레이어 추가
지도에 소스(지도에 표시할 데이터)를 추가합니다. source.add
이벤트를 트리거합니다.
소스에는 색상이나 너비와 같은 스타일 세부정보가 포함되어 있지 않기 때문에 소스를 추가하는 것만으로는 지도에 데이터를 표시하기에 충분하지 않습니다. 소스를 사용하여 지도에 표시하기 위해서는 addLayer 레이어 쪽을 확인해주세요.
source ID
포맷입니다. 소스 포맷과 관련된 사항은 source를 참고해주세요.
this
json파일 url을 사용하여 vector 형태의 'my-data' source 추가하기
map.addSource('my-data', {
type: 'vector',
url: ''
});
polygon 형태의 'test' source 추가하기
//test 이름으로 polygon 형태의 source 추가
map.addSource('test', {
type: 'geojson',
data: {
type: 'Feature',
geometry: {
type: 'Polygon',
coordinates: [
[127.017000, 37.49000],
[127.017999, 37.49000],
[127.017999, 37.49999],
[127.017000, 37.49999],
[127.017000, 37.49000]
]
}}
});
지도에 overlay를 추가합니다. Marker 또는 InfoWindow를 추가할 수 있습니다.
let marker = new ktGms.overlay.Marker({lngLat: [127.029414, 37.471401]});
let infoWindow = new ktGms.overlay.InfoWindow().setLngLat([127.029414, 37.471401]).setHTML("<h1>Null Island</h1>");
map.addOverlay(marker);
map.addOverlay(infoWindow);
addOverlay로 추가했던 overlay를 제거합니다. addOverlay때 추가해줬던 Marker 또는 InfoWindow 객체를 overlay 파라미터로 넘겨야 제거됩니다.
let marker = new ktGms.overlay.Marker({lngLat: [127.029414, 37.471401]});
let infoWindow = new ktGms.overlay.InfoWindow().setLngLat([127.029414, 37.471401]).setHTML("<h1>Null Island</h1>");
map.addOverlay(marker);
map.addOverlay(infoWindow);
map.removeOverlay(marker);
map.removeOverlay(infoWindow);
from 위치에서 to 위치로 카메라를 이동하기 위한 카메라 옵션을 계산하여 반환합니다.
카메라가 이동하기 전의 카메라 위치입니다.
카메라가 이동하기 전의 고도입니다.
카메라가 이동한 후의 위치입니다.
Optional
altitudeTo: number카메라가 이동한 후의 고도입니다.
계산된 카메라 옵션
let cameraoption = map.calculateCameraOptionsFromTo([127.015422, 37.49044], 0,[127.017422, 37.49444], 3)
원하는 경계(bounds)에 대한 카메라 정보(지도 center/zoom/bearing)를 반환합니다.
경계
경계 옵션
CenterZoomBearing = {center?: LngLatLike, zoom?:number, bearing?:number}
지도의 범위에 맞을 수 있으면, center/zoom/bearing을 반환합니다. 맞지 않으면 undefined를 반환합니다.
let cameraBounds = map.cameraForBounds(
[[127.015422, 37.49044],[127.017422, 37.49444]],
{ padding: {top: 10, bottom:25, left: 15, right: 5} }
)
center, zoom, bearing, pitch, padding 이 변경될 때 애니메이션 전환으로 변경합니다.
지도 전환 시 발생하는 애니메이션의 옵션입니다.
Optional
eventData: any이 메서드에 의해 트리거된 이벤트의 이벤트 개체에 추가되는 추가 속성입니다.
movestart
, zoomstart
, pitchstart
, rotate
, move
, zoom
, pitch
, moveend
, zoomend
, pitchend
this
//map을 300ms동안 애니메이션 전환과 함께 zoom:15로 변경하기
map.easeTo({
duration: 300,
zoom: 15 ,
}, {originalEvent: e}
지도를 지정한 경계 범위 내에서 보이도록(maxzoom일 때 포함) 이동하고 확대/축소 합니다. bearing이 0이 아니라면, 0으로 재설정합니다.movestart
및 moveend
이벤트를 트리거합니다.
경계
Optional
options: FitBoundsOptions경계 옵션
Optional
eventData: any이 메서드에 의해 트리거된 이벤트의 이벤트 개체에 추가되는 추가 속성입니다.
movestart
, moveend
this
지도를 지정된 bearing(기울기)으로 회전시킨 후, p0과 p1으로 만든 좌표 상자에 맞게 지도를 이동, 회전, 줌 합니다. 회전 없이 줌 하려면 현재 맵의 bearing을 현재 bearing값으로 설정 하세요
BoxZoomHandler에서 주로 사용됩니다.
상자의 좌표1입니다. 형식은 [number, number]입니다.
상자의 좌표2입니다. 형식은 [number, number]입니다.
기울기
Optional
options: FitBoundsOptions경계 옵션
Optional
eventData: any이 메서드에 의해 트리거된 이벤트의 이벤트 개체에 추가되는 추가 속성입니다.
movestart
, move
, moveend
, zoomstart
, zoom
, zoomend
, rotate
this
let p0 = [127.015422, 37.49044];
let p1 = [127.019422, 37.50444];
map.fitScreenCoordinates(p0, p1, map.getBearing());
지도의 center/zoom/bearing/pitch를 애니메이션과 함께 변경합니다. 해당 애니메이션은 zoom과 panning을 원활하게 통합하여 사용자가 먼 거리를 이동한 후에도 bearing을 유지할 수 있도록 도와줍니다.
(참고 : options에 essential:true
가 포함되지 않고, 사용자의 시스템이 reduced motion
일 때, 해당 애니메이션은 jumpTo와 동일하게 작동됩니다. )
Optional
eventData: any이 메서드에 의해 트리거된 이벤트의 이벤트 개체에 추가되는 추가 속성입니다.
movestart
, move
, moveend
, zoomstart
, zoom
, zoomend
, pitchstart
, pitch
, pitchend
, rotate
this
map.flyTo({
center: [127.015422, 37.49044],
zoom: 9,
speed: 0.2,
curve: 1,
});
지도에 addImage로 추가했던 이미지의 정보를 반환합니다.
이미지 ID
이미지 정보
지도에 addLayer로 추가했던 레이어의 정보를 반환합니다.
Layer ID
레이어 정보
지도 스타일에 지정된 ID가 있는 Source를 반환합니다. 지정된 ID가 없는 경우 undefined를 반환합니다.
가져올 Source ID
지정한 source 또는 undefined를 반환합니다.
스타일에 특정 ID를 가지 이미지가 존재하는지 확인합니다. 기존의 sprite 내의 스타일과 addImage로 추가된 이미지를 모두 체크하여 확인합니다.
이미지의 ID입니다.
이미지 존재 유무입니다.
애니메이션 전환 없이 center/zoom/bearing/pitch를 변경합니다. 옵션에 명시되지 않은 속성들은 기존값을 유지합니다.
Optional
eventData: any이 메서드에 의해 트리거된 이벤트의 이벤트 개체에 추가되는 추가 속성입니다.
movestart
, move
, moveend
, zoomstart
, zoom
, zoomend
, pitchstart
, pitch
, pitchend
, rotate
map.jumpTo({
center:[127.015422, 37.49044],
zoom: 11,
pitch: 15,
bearing: 60
})
지도에서 현재 사용 가능한 모든 이미지의 ID를 문자열 배열로 반환합니다. 기존의 sprite 내의 이미지와 addImage로 추가된 이미지를 모두 반환합니다.
사용 가능한 모든 이미지 ID입니다.
let allImages = map.listImages();
레이어의 위치(순서)를 이동합니다.
이동시키고 싶은 레이어의 ID입니다.
Optional
beforeId: string레이어를 이동시킬 위치입니다. 레이어 배열에서 id
레이어가 beforeId
레이어의 앞으로 이동하며, 지도에서는 id
레이어가 beforeId
레이어 아래에 나타납니다. beforeId
를 생략하면 id
레이어가 레이어 배열 끝에 추가되고, 지도에서는 다른 모든 레이어 위에 나타납니다.
this
// 레이어 배열에서 'polygon'레이어를 'country-label'레이어 앞으로 이동합니다.
// 지도에서 'polygon'레이어가 'country-label'레이어 아래에 나타납니다.
map.moveLayer('polygon', 'country-label');
지도 이벤트에 대한 콜백 리스너를 추가합니다.
수신할 이벤트 유형입니다.
boxzoomcancel
, boxzoomend
, boxzoomstart
, click
, contextmenu
, data
, dataabort
, dataloading
, dblclick
, drag
, dragend
, dragstart
, error
,
idle
, load
, mousedown
, mousemove
, mouseout
, mouseover
, move
, moveend
, movestart
, pitch
, pitchend
, pitchstart
, remove
, render
, resize
, rotate
,
rotateend
, rotatestart
, sourcedata
, sourcedataabort
, sourcedataloading
, styledata
, styledataloading
, styleimagemissing
, terrain
, tiledataloading
, touchcancel
,
touchend
, touchmove
, touchstart
, webglcontextlost
, webglcontextrestored
, wheel
, zoom
, zoomend
, zoomstart
이벤트가 발생했을 때 호출되는 콜백함수입니다.
this
//map에 zoom 이벤트가 발생할 때, `zoom`을 콘솔에 출력하는 콜백 리스너가 호출됩니다.
let consoleFunc = function(){console.log('zoom');}
map.on('zoom', consoleFunc );
지도에 추가한 레이어에 이벤트가 발생했을 때의 콜백 리스너를 추가합니다.
수신할 이벤트 유형입니다.
boxzoomcancel
, boxzoomend
, boxzoomstart
, click
, contextmenu
, data
, dataabort
, dataloading
, dblclick
, drag
, dragend
, dragstart
, error
,
idle
, load
, mousedown
, mousemove
, mouseout
, mouseover
, move
, moveend
, movestart
, pitch
, pitchend
, pitchstart
, remove
, render
, resize
, rotate
,
rotateend
, rotatestart
, sourcedata
, sourcedataabort
, sourcedataloading
, styledata
, styledataloading
, styleimagemissing
, terrain
, tiledataloading
, touchcancel
,
touchend
, touchmove
, touchstart
, webglcontextlost
, webglcontextrestored
, wheel
, zoom
, zoomend
, zoomstart
레이어ID 또는 리스너입니다. 해당 레이어에 type 이벤트가 발생 가능할 경우일 때에만 listener 이벤트가 트리거됩니다.
이벤트가 발생했을 때 호출되는 콜백함수입니다.
this
//'polygontest' 레이어에 click 이벤트가 발생할 때, `click`을 콘솔에 출력하는 콜백 리스너가 호출됩니다.
let consoleFunc = function(){console.log('click');}
map.on('click', 'polygontest', consoleFunc);
onLayer에서 추가했던 레이어 이벤트에 대한 콜백 리스너를 제거합니다.
제거할 리스너를 추가했던 이벤트 유형입니다.
제거할 리스너를 추가했던 레이어ID 또는 리스너입니다.
제거할 이벤트 리스너(콜백함수)입니다.
this
//'polygontest' 레이어에 click 이벤트가 발생할 때 호출되었던 consoleFunc 함수를 제거합니다. 제거한 후에는 click 이벤트가 발생되어도 consoleFunc가 호출되지 않습니다.
map.off('click', 'polygontest', consoleFunc);
지도 이벤트가 발생했을 때 한 번만 호출되는 콜백 리스너를 추가합니다. 이벤트가 처음 발생했을 때에만 콜백 리스너가 호출됩니다.
수신할 이벤트 유형입니다.
boxzoomcancel
, boxzoomend
, boxzoomstart
, click
, contextmenu
, data
, dataabort
, dataloading
, dblclick
, drag
, dragend
, dragstart
, error
,
idle
, load
, mousedown
, mousemove
, mouseout
, mouseover
, move
, moveend
, movestart
, pitch
, pitchend
, pitchstart
, remove
, render
, resize
, rotate
,
rotateend
, rotatestart
, sourcedata
, sourcedataabort
, sourcedataloading
, styledata
, styledataloading
, styleimagemissing
, terrain
, tiledataloading
, touchcancel
,
touchend
, touchmove
, touchstart
, webglcontextlost
, webglcontextrestored
, wheel
, zoom
, zoomend
, zoomstart
이벤트가 발생했을 때 한 번만 호출되는 콜백함수입니다.
this
지도에 추가한 레이어에 이벤트가 발생했을 때 한 번만 호출되는 콜백 리스너를 추가합니다. 이벤트가 처음 발생했을 때에만 콜백 리스너가 호출됩니다.
수신할 이벤트 유형입니다.
레이어ID 또는 리스너입니다. 해당 레이어에 type 이벤트가 발생 가능할 경우일 때에만 listener 이벤트가 한 번 트리거됩니다.
이벤트가 발생했을 때 호출되는 콜백함수입니다.
this
지정된 offset만큼 지도를 패닝(이동)합니다. movestart
, moveend
이벤트를 트리거합니다.
패닝(이동)할 거리입니다. [x거리, y거리] 형식이며, 음수는 왼쪽과 위쪽을 나타냅니다.
Optional
options: AnimationOptions패닝할 때의 애니메이션 전환 옵션입니다.
Optional
eventData: any이 메서드에 의해 트리거된 이벤트의 이벤트 개체에 추가되는 추가 속성입니다.
this
애니메이션 전환을 통해 지도를 지정된 위치로 이동합니다. movestart
, moveend
이벤트를 트리거합니다.
지도를 이동할 위치입니다. [위도(Lng), 경도(Lat)] 형식이며, [127.017022, 37.49944]
예시입니다.
Optional
options: AnimationOptions패닝할 때의 애니메이션 전환 옵션입니다.
Optional
eventData: any이 메서드에 의해 트리거된 이벤트의 이벤트 개체에 추가되는 추가 속성입니다.
this
픽셀 좌표 -> 위경도 좌표 : point 픽셀 좌표를 지리적 위치(lnglat)에 해당하는 위경도 좌표로 변환하여 반환합니다.
위경도좌표로 변환하고 싶은 픽셀좌표입니다. [x,y] 형식입니다.
위경도 좌표이며, {lng(위도), lat(경도)} 형식으로 반환합니다.
map.unproject([486.21729, -493.31896])
쿼리 매개변수를 충족하는 가시적 feature을 나타내는 MapGeoJSONFeature 객체의 배열을 반환합니다.
Optional
geometryOrOptions: PointLike | [PointLike, PointLike] | QueryRenderedFeaturesOptionstype QueryRenderedFeaturesOptions = {
layers?: string[] | undefined;
filter?: FilterSpecification | undefined;
availableImages?: string[] | undefined;
validate?: boolean | undefined;
}
쿼리 영역의 geometry: 경계 box를 설명하는 단일 지점 또는 남서쪽 및 북동쪽 지점. 이 매개변수(queryRenderedFeatures)를 생략하는 것(즉, 인수가 없거나 옵션 인수만 있는 queryRenderedFeatures 호출)은 전체 지도 뷰포트를 포함하는 경계 box를 전달하는 것과 같습니다.
geometryOrOptions는 QueryRenderedFeaturesOptions를 받을 수도 있습니다. 이 경우 함수가 하나의 매개변수(options)만 받는 상황을 지원하기 위함입니다.
Optional
options: QueryRenderedFeaturesOptionstype QueryRenderedFeaturesOptions = {
layers?: string[] | undefined;
filter?: FilterSpecification | undefined;
availableImages?: string[] | undefined;
validate?: boolean | undefined;
}
MapGeoJSONFeature 객체의 배열입니다.
type MapGeoJSONFeature = GeoJSONFeature & {
layer: DistributiveOmit<LayerSpecification, "source"> & {
source: string;
};
source: string;
sourceLayer?: string | undefined;
state: {
[key: string]: any;
};
}
반환된 각 feature 개체의 properties
값에는 소스 feature의 속성이 포함됩니다.
GeoJSON 소스의 경우 문자열 및 숫자 속성 값만 지원됩니다(즉, null
, Array
및 Object
값은 지원되지 않음).
각 feature에는 최상위 layer
, source
및 sourceLayer
속성이 포함됩니다.
layer
속성은 feature가 속한 스타일 레이어를 나타내는 객체입니다.
이 개체의 레이아웃 및 페인트 속성에는 지정된 확대/축소 수준 및 feature에 대해 완전히 평가되는 값이 포함되어 있습니다.
현재 렌더링된 feature만 포함됩니다. 다음과 같은 일부 feature은 포함되지 않습니다.
visibility
속성이 none
인 레이어의 feature렌더링된 결과에 시각적으로 기여하지 않을 수 있는 feature을 포함하여 다른 모든 레이어의 feature이 포함됩니다. 예를 들어 레이어의 불투명도 또는 색상 알파 구성 요소가 0으로 설정되어 있는 feature들
맨 위의 렌더링된 feature은 반환된 배열에 처음 나타나고 후속 feature은 내림차순 z-order로 정렬됩니다. 여러 번 렌더링되는 feature(낮은 확대/축소 수준에서 자오선을 가로지르는 래핑으로 인해)은 한 번만 반환됩니다(아래의 주의사항이 따른다).
feature은 내부적으로 타일로 변환된 타일 벡터 데이터 또는 GeoJSON 데이터에서 가져오기 때문에 feature이 타일 경계를 넘어 분할되거나 복제될 수 있으며 그 결과 feature이 쿼리 결과에 여러 번 나타날 수 있습니다. 예를 들어 쿼리의 경계 사각형을 통과하는 고속도로가 있다고 가정합니다. 쿼리 결과는 고속도로가 다른 타일로 확장되더라도 경계 사각형을 덮는 지도 타일 내에 있는 고속도로 부분이 되며 각 지도 타일 내의 고속도로 부분은 별도의 feature으로 반환됩니다. 마찬가지로 타일 경계 근처의 포인트 feature는 타일 버퍼링으로 인해 여러 타일에 나타날 수 있습니다.
한 지점에서 모든 feature 찾기
let features = map.queryRenderedFeatures(
[20, 35],
{ layers: ['my-layer-name'] }
);
정적 경계 box 내의 모든 feature 찾기
let features = map.queryRenderedFeatures(
[[10, 20], [30, 50]],
{ layers: ['my-layer-name'] }
);
포인트 주위의 경계 box 내에서 모든 feature 찾기
let width = 10;
let height = 20;
let features = map.queryRenderedFeatures([
[point.x - width / 2, point.y - height / 2],
[point.x + width / 2, point.y + height / 2]
], { layers: ['my-layer-name'] }
);
단일 레이어에서 렌더링된 모든 feature 쿼리
let features = map.queryRenderedFeatures({ layers: ['my-layer-name'] });
쿼리 매개변수를 충족하는 지정된 벡터 타일 또는 GeoJSON 소스 내의 feature을 나타내는 MapGeoJSONFeature 객체의 배열을 반환합니다.
쿼리할 벡터 타일 또는 GeoJSON 소스의 ID
Optional
parameters: { QueryRenderedFeaturesOptions
Optional
sourceOptional
filter?: FilterSpecificationOptional
validate?: booleanMapGeoJSONFeature 개체의 배열입니다. queryRenderedFeatures와 달리 이 함수는 현재 스타일(즉, 표시)에 의해 렌더링되는지 여부에 관계없이 쿼리 매개변수와 일치하는 모든 feature을 반환합니다. 쿼리 도메인에는 현재 로드된 모든 벡터 타일과 GeoJSON 소스 타일이 포함됩니다. 이 함수는 현재 보이는 뷰포트 외부의 타일을 확인하지 않습니다.
feature은 내부적으로 타일로 변환된 타일 벡터 데이터 또는 GeoJSON 데이터에서 가져오기 때문에 feature이 타일 경계를 넘어 분할되거나 복제될 수 있으며 그 결과 feature이 쿼리 결과에 여러 번 나타날 수 있습니다. 예를 들어 쿼리의 경계 사각형을 통과하는 고속도로가 있다고 가정합니다. 쿼리 결과는 고속도로가 다른 타일로 확장되더라도 경계 사각형을 덮는 지도 타일 내에 있는 고속도로 부분이 되며 각 지도 타일 내의 고속도로 부분은 별도의 feature으로 반환됩니다. 마찬가지로 타일 경계 근처의 포인트 feature는 타일 버퍼링으로 인해 여러 타일에 나타날 수 있습니다.
벡터 소스에서 하나의 소스 레이어에 있는 모든 feature 찾기
let features = map.querySourceFeatures('your-source-id', {
sourceLayer: 'your-source-layer'
});
지도에서 컨트롤을 제거합니다. 이미지 매개변수가 유효하지 않으면 ErrorEvent가 발생합니다.
제거할 IControl입니다.
// 새로운 navigation control 정의합니다.
let navigation = new ktGms.control.NavigationControl();
// 지도에 확대/축소 및 회전 컨트롤을 추가합니다.
map.addControl(navigation);
// 지도에서 확대/축소 및 회전 컨트롤을 제거합니다.
map.removeControl(navigation);
feature의 state
를 제거하여 기본 동작으로 다시 설정합니다.
target.source
만 지정된 경우 해당 소스에서 모든 feature의 상태를 제거합니다.
target.id
도 지정된 경우 해당 feature의 상태에 대한 모든 키를 제거합니다.
key
도 지정된 경우 해당 feature의 상태에서 해당 키만 제거합니다.
feature은 숫자 또는 문자열일 수 있는 feature.id 속성으로 식별됩니다.
type FeatureIdentifier = {
id?: string | number | undefined;
source: string;
sourceLayer?: string | undefined;
}
상태를 제거할 위치의 식별자입니다. 소스, feature 또는 feature의 특정 키일 수 있습니다.
queryRenderedFeatures
또는 이벤트 핸들러에서 반환된 feature 개체를 feature 식별자로 사용할 수 있습니다.
Optional
key: string재설정할 feature 상태의 키입니다.
this
my-source 소스의 모든 feature에 대한 전체 상태 개체 재설정
map.removeFeatureState({
source: 'my-source'
});
마우스가 'my-layer' 레이어를 벗어나면 마우스 아래의 feature에 대한 전체 상태 개체를 재설정합니다.
map.on('mouseleave', 'my-layer', function(e) {
map.removeFeatureState({
source: 'my-source',
sourceLayer: 'my-source-layer',
id: e.features[0].id
});
});
마우스가 'my-layer' 레이어를 벗어날 때 마우스 아래의 feature에 대한 상태에서 hover 키-값 쌍만 재설정
map.on('mouseleave', 'my-layer', function(e) {
map.removeFeatureState({
source: 'my-source',
sourceLayer: 'my-source-layer',
id: e.features[0].id
}, 'hover');
});
맵 스타일에서 지정된 ID를 가진 레이어 또는 소스를 제거합니다. 이미지 매개변수가 유효하지 않으면 ErrorEvent가 발생합니다.
제거할 레이어 또는 소스의 ID 문자열
Optional
deletableSource: booleanID가 state-data
인 레이어가 있으면 제거합니다.
if (map.getLayer('state-data')) map.removeLayer('state-data');
애니메이션 전환과 함께 북쪽이 위쪽(방향각 0°)이 되도록 지도를 회전합니다.
movestart
, moveend
및 rotate
이벤트를 트리거합니다.
Optional
options: AnimationOptionsOptional
eventData: any이 메서드에 의해 트리거된 이벤트의 이벤트 개체에 추가되는 추가 속성입니다.
this
애니메이션 전환과 함께 북쪽이 위쪽(방향각 0°)이고 피치가 0°가 되도록 지도를 회전하고 피치합니다.
다음 이벤트를 트리거합니다: movestart
, move
, moveend
, pitchstart
, pitch
, pitchend
, rotate
.
Optional
options: AnimationOptionsOptional
eventData: any이 메서드에 의해 트리거된 이벤트의 이벤트 개체에 추가되는 추가 속성입니다.
this
컨테이너 요소의 크기에 따라 지도 크기를 조정합니다.
지도 컨테이너 크기가 변경되었는지 확인하고 변경된 경우 지도를 업데이트합니다.
이 메서드는 지도의 컨테이너가 프로그래밍 방식으로 크기가 조정된 후 또는 처음에 CSS로 숨겨진 지도가 표시될 때 호출해야 합니다.
movestart
, move
, moveend
및 resize
이벤트를 트리거합니다.
Optional
eventData: any크기 조정의 결과로 트리거되는 movestart
, move
, resize
및 moveend
이벤트에 전달할 추가 속성입니다.
이것은 이벤트의 소스를 구별하는 데 유용할 수 있습니다(예: 사용자가 시작한 이벤트 또는 프로그래밍 방식으로 트리거된 이벤트).
this
지도 컨테이너가 처음에 CSS로 숨겨졌다가 표시되면 지도 크기를 조정합니다.
let mapDiv = document.getElementById('map');
if (mapDiv.style.visibility === true) map.resize();
애니메이션 전환과 함께 지정된 방위로 지도를 회전합니다. 베어링은 "위"인 나침반 방향입니다. 예를 들어 방위각이 90°이면 지도가 동쪽이 위를 향하도록 합니다.
movestart
, moveend
및 rotate
이벤트를 트리거합니다.
원하는 베어링입니다.
Optional
options: AnimationOptionsOptional
eventData: any이 메서드에 의해 트리거된 이벤트의 이벤트 개체에 추가되는 추가 속성입니다.
this
맵의 cooperativeGestures 옵션을 설정하거나 지웁니다.
Optional
gestureOptions: booleantype GestureOptions = {
windowsHelpText?: string | undefined;
macHelpText?: string | undefined;
mobileHelpText?: string | undefined;
}
true
이거나 옵션 개체로 설정된 경우 지도는 Command/Ctrl을 누른 상태에서 데스크톱에서만 액세스할 수 있고 모바일에서는 두 손가락으로만 액세스할 수 있습니다.
일반 제스처를 사용하여 지도와 상호 작용하면 정보 화면이 트리거됩니다. 이 옵션을 사용하면 drag and pitch
에 세 손가락 제스처가 필요합니다.
feature의 상태를 설정합니다. feature의 상태는 런타임 시 feature에 할당되는 사용자 정의 키-값 쌍의 집합입니다. 이 방법을 사용할 때 상태 개체는 feature 상태의 기존 키-값 쌍과 병합됩니다. feature은 숫자 또는 문자열일 수 있는 feature.id 속성으로 식별됩니다.
이 방법은 feature.id 속성이 있는 소스에만 사용할 수 있습니다. feature.id 속성은 세 가지 방법으로 정의할 수 있습니다.
참고: feature 상태 식을 사용하여 스타일 지정을 위해 feature 상태 개체의 값에 액세스할 수 있습니다.
type FeatureIdentifier = {
id?: string | number | undefined;
source: string;
sourceLayer?: string | undefined;
}
feature 식별자. queryRenderedFeatures 또는 이벤트 핸들러에서 반환된 feature 개체를 feature 식별자로 사용할 수 있습니다.
키-값 쌍의 집합입니다. 값은 유효한 JSON 유형이어야 합니다.
this
마우스가 my-layer
레이어 위로 이동하면 업데이트
마우스 아래의 feature에 대한 feature 상태
map.on('mousemove', 'my-layer', function(e) {
if (e.features.length > 0) {
map.setFeatureState({
source: 'my-source',
sourceLayer: 'my-source-layer',
id: e.features[0].id,
}, {
hover: true
});
}
});
지정된 스타일 레이어에 대한 필터를 설정합니다.
필터는 스타일 레이어가 소스에서 렌더링하는 feature을 제어합니다. 필터 표현식이 true
로 평가되는 모든 feature는 맵에서 렌더링됩니다. false
인 것은 숨겨질 것입니다.
setFilter를 사용하여 소스 데이터의 하위 집합을 표시합니다.
필터를 지우려면 null
또는 undefined
를 두 번째 매개변수로 전달합니다.
필터를 적용할 레이어의 ID입니다.
Optional
filter: FilterSpecification스타일 사양의 필터 정의를 준수하는 필터입니다.
null
또는 undefined
가 제공되면 함수는 레이어에서 기존 필터를 제거합니다.
Optional
options: StyleSetterOptions다른 스타일 관련 유형에 유효성 검사를 추가를 지원하는 타입
this
'name' 속성이 'USA'인 feature만 표시
map.setFilter('my-layer', ['==', ['get', 'name'], 'USA']);
5개 이상의 'available-spots'이 있는 feature만 표시
map.setFilter('bike-docks', ['>=', ['get', 'available-spots'], 5]);
'bike-docks' 스타일 레이어에 대한 필터 제거
map.setFilter('bike-docks', null);
지정된 스타일 레이어의 확대/축소 범위를 설정합니다. 확대/축소 범위에는 레이어가 렌더링되는 minimum zoom level
과 maximum zoom level
이 포함됩니다.
참고: 벡터 소스를 사용하는 스타일 레이어의 경우 소스 레이어의 최소 확대/축소 수준보다 낮은 확대/축소 수준에는 데이터가 없기 때문에 스타일 레이어를 렌더링할 수 없습니다. 소스 레이어의 최소 확대/축소 수준이 스타일 레이어에 정의된 최소 확대/축소 수준보다 높으면 스타일 레이어가 확대/축소 범위의 모든 확대/축소 수준에서 렌더링되지 않습니다.
확대/축소 범위가 적용될 레이어의 ID입니다.
설정할 최소 줌(6-22)
설정할 최대 줌(6-22)
this
지정된 스타일 레이어의 레이아웃 속성 값을 설정합니다.
레이아웃 속성을 설정할 레이어의 ID입니다.
설정할 레이아웃 속성의 이름입니다.
레이아웃 속성의 값입니다. 스타일 사양에 정의된 대로 속성에 적합한 유형이어야 합니다.
type StyleSetterOptions = {
validate?: boolean | undefined;
}
다른 스타일 관련 유형에 유효성 검사를 추가를 지원하는 타입
this
map.setLayoutProperty('my-layer', 'visibility', 'none');
조명 값의 모든 조합을 설정합니다.
type LightSpecification = {
anchor?: PropertyValueSpecification<"map" | "viewport"> | undefined;
position?: PropertyValueSpecification<[number, number, number]> | undefined;
color?: PropertyValueSpecification<...> | undefined;
intensity?: PropertyValueSpecification<...> | undefined;
}
설정할 라이트 속성입니다. 스타일 사양을 준수해야 합니다.
Optional
options: StyleSetterOptionstype StyleSetterOptions = {
validate?: boolean | undefined;
}
다른 스타일 관련 유형에 유효성 검사를 추가를 지원하는 타입
this
지도의 지리적 경계를 설정하거나 지웁니다.
이동 및 확대/축소 작업은 이러한 범위 내에서 제한됩니다. 이러한 경계 밖의 지역을 표시하는 이동 또는 확대/축소가 수행되는 경우 지도는 여전히 경계 내에 있으면서 작업 요청에 최대한 가까운 위치와 확대/축소 수준을 대신 표시합니다.
Optional
bounds: LngLatBoundsLike설정할 최대 범위입니다. null 또는 undefined가 제공되면 함수는 지도의 최대 경계를 제거합니다.
this
최대 경계 설정으로 LngLatBoundsLike 객체를 준수하는 경계를 정의합니다.
let bounds = [
[-74.04728, 40.68392], // [west, south]
[-73.91058, 40.87764] // [east, north]
];
map.setMaxBounds(bounds);
지도의 최대 확대/축소 수준을 설정하거나 지웁니다. 지도의 현재 확대/축소 수준이 새 최대값보다 높으면 지도가 새 최대값으로 확대/축소됩니다. minZoom이 범위를 벗어나면 ErrorEvent 이벤트가 발생합니다.
Optional
maxZoom: number설정할 최대 확대/축소 수준입니다. null 또는 undefined가 제공되면 함수는 현재 최대 확대/축소를 제거합니다(22로 설정).
this
map.setMaxZoom(18.75);
지도의 최소 확대/축소 수준을 설정하거나 지웁니다. 지도의 현재 확대/축소 수준이 새 최소 수준보다 낮으면 지도가 새 최소 수준으로 확대/축소됩니다. 축소하고 설정된 minZoom에 도달하는 것이 항상 가능한 것은 아닙니다.지도 높이와 같은 다른 요소가 확대/축소를 제한할 수 있습니다. 예를 들어 지도의 높이가 512픽셀이면 minZoom이 무엇으로 설정되어 있든 줌 6 미만으로 줌할 수 없습니다.
minZoom이 범위(6-22)를 벗어나면 6으로 재설정하지만, ErrorEvent 이벤트가 발생할 수도 있습니다.
Optional
minZoom: number설정할 최소 줌 레벨(6 ~ 22). null 또는 undefined가 제공되면 함수는 현재 최소 확대/축소를 제거합니다(즉, 6으로 설정).
this
map.setMinZoom(12.25);
뷰포트 주변의 패딩을 픽셀 단위로 설정합니다.
jumpTo({padding: padding})
과 동일합니다.
다음 이벤트를 트리거합니다: movestart
, moveend
.
원하는 패딩입니다.
Optional
eventData: any이 메서드에 의해 트리거된 이벤트의 이벤트 개체에 추가되는 추가 속성입니다.
this
300px의 왼쪽 패딩과 50px의 상단 패딩을 설정합니다.
map.setPadding({ left: 300, top: 50 });
지정된 스타일 레이어의 페인트 속성 값을 설정합니다.
페인트 속성을 설정할 레이어의 ID입니다.
설정할 페인트 속성의 이름입니다.
설정할 페인트 속성의 값입니다. 스타일 사양에 정의된 대로 속성에 적합한 유형이어야 합니다.
다른 스타일 관련 유형에 유효성 검사를 추가를 지원하는 타입
this
map.setPaintProperty('my-layer', 'fill-color', '#faafee');
지도의 픽셀 비율을 설정합니다. 이를 통해 devicePixelRatio
를 재정의할 수 있습니다.
이 호출 후 캔버스의 너비 속성은 container.clientWidth * pixelRatio
이고 높이 속성은 container.clientHeight * pixelRatio
입니다.
devicePixelRatio
재정의를 비활성화하려면 이 값을 null
로 설정합니다. 실제로 적용되는 픽셀 비율은 maxCanvasSize
를 준수하기 위해 더 낮을 수 있습니다.
픽셀 비율입니다.
this
지도의 스타일 개체를 새 값으로 업데이트합니다.
"normal", "satellite", "hybrid" 값을 입력하여 지도 스타일을 변경할 수 있습니다.
또는, 이것이 사용될 때 스타일이 이미 설정되어 있고 options.diff
가 true
로 설정된 경우 지도 렌더러는 지정된 스타일을 지도의 현재 상태와 비교하려고 시도하고 지도 스타일이 원하는 상태와 일치하도록 만드는 데 필요한 변경만 수행합니다.
스프라이트(아이콘 및 패턴에 사용되는 이미지) 및 글리프(레이블 텍스트용 글꼴)의 변경 사항은 비교할 수 없습니다.
현재 스타일과 지정된 스타일에 사용된 스프라이트 또는 글꼴이 어떤 식으로든 다른 경우 맵 렌더러는 현재 스타일을 제거하고 주어진 스타일을 처음부터 새로 빌드하여 전체 업데이트를 강제로 수행합니다.
type StyleSpecification = {
version: 8;
name?: string;
metadata?: unknown;
center?: Array<number>;
zoom?: number;
bearing?: number;
pitch?: number;
light?: LightSpecification;
terrain?: TerrainSpecification;
sources: {
[_: string]: SourceSpecification;
};
sprite?: SpriteSpecification;
glyphs?: string;
transition?: TransitionSpecification;
layers: Array<LayerSpecification>;
};
스타일 사양에 설명된 스키마를 준수하는 JSON 개체 또는 이러한 JSON에 대한 URL입니다.
Optional
options: StyleSwapOptions & StyleOptionstype StyleSwapOptions = {
diff?: boolean;
transformStyle?: TransformStyleFunction;
};
type StyleOptions = {
validate?: boolean | undefined;
localIdeographFontFamily?: string | undefined;
}
this
지도의 스타일 관련 메소드와 관련된 옵션 객체
map.setStyle("https://map.gis.kt.com/mapsdk/data/Style.json");
map.setStyle('https://map.gis.kt.com/mapsdk/data/Style.json', {
transformStyle: (previousStyle, nextStyle) => ({
...nextStyle,
sources: {
...nextStyle.sources,
// 이전 스타일의 소스 복사
'osm': previousStyle.sources.osm
},
layers: [
// background layer
nextStyle.layers[0],
// 이전 스타일에서 레이어 복사
previousStyle.layers[0],
// 다음 스타일의 다른 레이어
...nextStyle.layers.slice(1).map(layer => {
// 데모스타일에서 필요하지 않은 레이어를 숨깁니다.
if (layer.id.startsWith('geolines')) {
layer.layout = {...layer.layout || {}, visibility: 'none'};
// USA 다각형 필터링
} else if (layer.id.startsWith('coastline') || layer.id.startsWith('countries')) {
layer.filter = ['!=', ['get', 'ADM0_A3'], 'USA'];
}
return layer;
})
]
})
});
새로운 기능으로 requestManager의 변환 요청을 업데이트합니다.
지도가 외부 URL을 요청하기 전에 실행되는 콜백입니다.
콜백을 사용하여 URL을 수정하거나 헤더를 설정하거나 원본 간 요청에 대한 자격 증명 속성을 설정할 수 있습니다.
url
속성과 선택적으로 headers
및 credentials
속성이 있는 객체를 반환할 것으로 예상됨
this
지도의 확대/축소 수준을 설정합니다. jumpTo({zoom: zoom})
와 동일합니다.
movestart
, move
, moveend
, zoomstart
, zoom
및 zoomend
이벤트를 트리거합니다.
설정할 줌 레벨(6-22)
Optional
eventData: any이 메서드에 의해 트리거된 이벤트의 이벤트 개체에 추가되는 추가 속성입니다.
this
애니메이션 전환 없이 확대/축소 수준 10으로 확대
map.setZoom(10);
현재 방위가 북쪽에 충분히 가까운 경우(즉, bearingSnap
임계값 내) 북쪽이 위쪽(0° 방위)이 되도록 지도를 스냅합니다.
movestart
, moveend
및 rotate
이벤트를 트리거합니다.
Optional
options: AnimationOptionspanBy
및 easeTo
와 같이 애니메이션과 관련된 지도 이동 방법에 공통적인 옵션으로 애니메이션의 지속 시간 및 easing 기능을 제어합니다. 모든 속성은 선택 사항입니다.
Optional
eventData: any이 메서드에 의해 트리거된 이벤트의 이벤트 개체에 추가되는 추가 속성입니다.
this
스타일의 기존 이미지를 업데이트합니다.
이 이미지는 icon-image
, background-pattern
, fill-pattern
또는 line-pattern
과 함께 이미지의 ID를 사용하여 스타일의 스프라이트에 있는 다른 아이콘처럼 지도에 표시될 수 있습니다.
이미지 매개변수가 유효하지 않으면 ErrorEvent가 발생합니다.
이미지는 HTMLImageElement, ImageData, ImageBitmap 또는 ImageData와 동일한 형식의 너비, 높이 및 데이터 속성이 있는 객체입니다.
this
// 스타일의 스프라이트에 ID가 'cat'인 이미지가 이미 있는 경우
// 해당 이미지를 새 이미지인 'other-cat-icon.png'로 바꿉니다.
if (map.hasImage('cat')) map.updateImage('cat', './other-cat-icon.png');
지도의 확대/축소 수준을 1 증가시킵니다.
Optional
options: AnimationOptionspanBy
및 easeTo
와 같이 애니메이션과 관련된 지도 이동 방법에 공통적인 옵션으로 애니메이션의 지속 시간 및 easing 기능을 제어합니다. 모든 속성은 선택 사항입니다.
Optional
eventData: any이 메서드에 의해 트리거된 이벤트의 이벤트 개체에 추가되는 추가 속성입니다.
this
사용자 지정 애니메이션 지속 시간을 사용하여 지도를 한 수준으로 확대/축소합니다.
map.zoomIn({duration: 1000});
지도의 확대/축소 수준을 1씩 줄입니다.
movestart
, move
, moveend
, zoomstart
, zoom
및 zoomend
이벤트를 트리거합니다.
Optional
options: AnimationOptionspanBy
및 easeTo
와 같이 애니메이션과 관련된 지도 이동 방법에 공통적인 옵션으로 애니메이션의 지속 시간 및 easing 기능을 제어합니다. 모든 속성은 선택 사항입니다.
Optional
eventData: any이 메서드에 의해 트리거된 이벤트의 이벤트 개체에 추가되는 추가 속성입니다.
this
사용자 지정 애니메이션 오프셋을 사용하여 지도를 한 수준 축소합니다.
map.zoomOut({offset: [80, 60]});
애니메이션 전환을 사용하여 지도를 지정된 확대/축소 수준으로 확대/축소합니다.
movestart
, move
, moveend
, zoomstart
, zoom
및 zoomend
이벤트를 트리거합니다.
전환할 확대/축소 수준입니다.
Optional
options: AnimationOptionspanBy
및 easeTo
와 같이 애니메이션과 관련된 지도 이동 방법에 공통적인 옵션으로 애니메이션의 지속 시간 및 easing 기능을 제어합니다. 모든 속성은 선택 사항입니다.
Optional
eventData: any이 메서드에 의해 트리거된 이벤트의 이벤트 개체에 추가되는 추가 속성입니다.
this
// 애니메이션 전환 없이 확대/축소 수준 10으로 확대
map.zoomTo(10);
// 애니메이션 전환으로 확대/축소 수준 12로 확대
map.zoomTo(12, {
duration: 2000,
offset: [100, 50]
});
더 높은 확대/축소 수준에서는 3D 건물을 표시할 수 있습니다. 기본적으로 표시되지 않습니다. 오른쪽 지도에서 마우스 오른쪽 버튼을 누르고 지도를 피치하여 가시성을 전환합니다. opacity 속성으로 이를 표시하거나 숨길 수 있습니다.
: 돌출 레이어의 불투명도입니다. 0-1 사이 값이 가능합니다.
// 입체 건물의 불투명도 1로 변경
map.changeExtrusionOpacity(1)
// 입체 건물의 불투명도 0으로 변경
map.changeExtrusionOpacity(0)
Generated using TypeDoc
Kt Map class
일반적으로 div로 지정된 HTML 컨테이너 내부에 새 지도를 만듭니다.
Map으로 사용할 수 있는 기본 옵션은 MapOptions를 확인해주세요.
See
Display a Normal Map 기본 지도 띄우기