카테고리 없음
[API] kml 파일을 사용할 때 Google지도 확대 / 축소가 무시됩니다.
필살기쓰세요
2021. 2. 2. 18:13
기본적으로지도는 중앙에 위치하며 kml 레이어 콘텐츠의 경계 상자로 확대됩니다.
개체의 preserveViewport
속성으로 기본 동작을 변경할 수 있습니다 google.maps.KmlLayerOptions
. true
지도로 설정하면 중앙에 위치하지 않고 확대됩니다.
예에서 다음을 사용하십시오.
var nyLayer = new google.maps.KmlLayer(
'http://www.searcharoo.net/SearchKml/newyork.kml',
{
suppressInfoWindows: true,
map: map,
preserveViewport: true
});
나중에 kml 레이어의 내용을 중앙에 배치하고 확대하려면 다음을 사용하십시오.
var bounds = nyLayer.getDefaultViewport();
map.fitBounds(bounds);
편집하다:
kml 레이어가로드 될 때지도가 항상 중앙 (확대되지는 않음)이되도록 defaultviewport_changed
하려면 google.maps.KmlLayer
객체의 이벤트를 활용 하십시오 . 지도 중심을 kml 레이어 기본 뷰포트의 중심으로 설정해야합니다. 이 이벤트는 kml 레이어의 내용이로드되고 기본 뷰포트가 계산 될 때 트리거됩니다.
google.maps.event.addListener(nyLayer, 'defaultviewport_changed', function() {
var bounds = nyLayer.getDefaultViewport();
map.setCenter(bounds.getCenter());
});
출처
https://stackoverflow.com/questions/39920119