카테고리 없음

[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