У меня есть карта, которая загружает и отображает (правильно) кучу маркеров. Количество маркеров не ограничено, поэтому они создаются до инициализации карты, запустив немного PHP в javascript (маркеры поступают из базы данных).Изменение маркера при определенном уровне масштабирования - API Карт Google 3
Я хочу знать, можно ли изменить маркер с простой точки, на что-то еще, когда достигнут определенный уровень масштабирования?
Вот код:
<script>
var <?php echo $clinic_string; ?>; //string with marker names
var map;
function initialize() {
var kzn = new google.maps.LatLng(-28.459033,30.217037);
var mapOptions = {
zoom: 7,
center: kzn,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
<?php foreach($jsdata as $data) : ?>
marker_<?php echo $data['id'];?> = new google.maps.Marker({
position: new google.maps.LatLng(<?php echo $data['location'];?>),
map: map,
icon: 'images/reddot.gif'
});
<?php endforeach; ?>
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
Допустим, мой уровень масштабирования достигает 15 уровня, он должен изменить icon
к images/clinic.gif
.
Возможно ли это? И если да, то как я могу это достичь?
Благодарим за это. Я попробую, как только мои слушатели событий начнут стрелять. По какой-то причине он не запускает ЛЮБЫЕ события, а не событие «dragend», «zoom_changed» или даже «click». – Albert
Я изменил свой ответ за то, что, по моему мнению, может быть лучшим подходом. Проверьте наличие ошибок JS – duncan
Отлично. Это также способ более аккуратный код. – Albert