Карта Google w / KML не подчиняется настройке масштабирования; вместо этого масштабируется, чтобы соответствовать всем маркерам

#google-maps

#google-карты

Вопрос:

Используя Google Maps Javascript API V3, я настроил карту для извлечения данных из динамически сгенерированного файла KML. Вот результат: http://theevolvement.org/MapRetailers.php

В моем коде (скопированном ниже) я указал масштаб до 12 в настройках моей карты. Когда страница загружается, она начинается с назначенного масштаба, но примерно через секунду карта уменьшается (и смещает назначенный центр), чтобы соответствовать всем нанесенным точкам.

Мы хотим загрузить карту с заданным масштабом, а не включать все нанесенные данные. Поэтому любой совет, который кто-либо может дать относительно того, что я делаю неправильно, был бы очень признателен. Спасибо вам всем!

     <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <link href="http://code.google.com/apis/maps/documentation/javascript/examples/default.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="//maps.googleapis.com/maps/api/js?sensor=false"></script>
    <script type="text/javascript">
    function initialize() {
      var vegas = new google.maps.LatLng(36.1589862,-115.1723833);
      var myOptions = {
        zoom: 12,
        center: vegas,
        mapTypeId: google.maps.MapTypeId.ROADMAP
      }
      var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
      var ctaLayer = new google.maps.KmlLayer('http://theevolvement.org/MapRetailers.php?getKML=1amp;t=<?=mktime()?>');
      ctaLayer.setMap(map);
    }
    </script>
    </head><body onload="initialize()">
    <div id="map_canvas"></div>
    </body>
 

Ответ №1:

УХ ты! Я наконец-то нашел решение!

Для функции KmlLayer требуется другой параметр, {preserveViewport: true}

   var ctaLayer = new google.maps.KmlLayer('<?=$kmlURL?>', {preserveViewport: true});