#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});