|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Google maps api балун. |
|
Google maps api балун.
|
Пользователь Сообщения: 107 |
Профиль | Отправить PM | Цитировать Здравствуйте, сделал не большую карту на Google maps api, надо сделать так чтоб одновременно мог быть открыт только один балун.
Функция инициализации: function initialize() { var myLatlng = new google.maps.LatLng(56.32,24.004); var myOptions = { zoom: 7, center: myLatlng, mapTypeId: google.maps.MapTypeId.ROADMAP } map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); $('#markerTypes input[type="checkbox"]').bind('click', function () { var markersType = $(this).val(); if($(this).attr("checked")) { if(!gmarkers[markersType]) { gmarkers[markersType] = []; $.getJSON("get.php", {markersType:markersType}, function(data){ setMarkers(data, markersType); }); } else { show(markersType); } } else { hide(markersType); } }); } Функция установки маркеров: function setMarkers(data, category) { var infoWindow = new google.maps.InfoWindow; var baseIcon = customIcons[category]; var marker_point = new Array(); var html = new Array(); for(var i = 0; i < data.markers.length; i++) { marker_point[i] = new google.maps.LatLng(data.markers[i].lat, data.markers[i].lon); html[i] = '<div style="font-weight:bold; background-color:#CCFFCC; line-height:30px">'+data.markers[i].mname+'</div>' +data.markers[i].desc +'<br />'+data.markers[i].novads + ' novads, '+data.markers[i].apdzvieta+', '+data.markers[i].address; createMarker(marker_point[i], html[i], baseIcon, infoWindow, category); } } function createMarker(point, html, icon, infoWindow, category) { var marker = new google.maps.Marker({ map: map, position: point, icon: icon.icon, shadow: icon.shadow }); marker.mycategory = category; google.maps.event.addListener(marker, 'click', function() { infoWindow.setContent(html); infoWindow.open(map, marker); }); gmarkers.push(marker); return marker; } function show(category) { for (var i=0; i<gmarkers.length; i++) { if (gmarkers[i].mycategory == category) { gmarkers[i].setVisible(true); } } document.getElementById(category+"box").checked = true; } |
|
Отправлено: 12:21, 29-06-2012 |
Пользователь Сообщения: 107
|
Профиль | Отправить PM | Цитировать Почему если я после «$('#markerTypes input[type="checkbox"]').bind('click', function () {
» ставлю infoWindow.close(); то маркеры вообще не появляются? $('#markerTypes input[type="checkbox"]').bind('click', function () { infoWindow.close(); var markersType = $(this).val(); if($(this).attr("checked")) { if(!gmarkers[markersType]) { gmarkers[markersType] = []; $.getJSON("upload.php", {markersType:markersType}, function(data){ setMarkers(data, markersType); }); } else { show(markersType); } } else { hide(markersType); } }); |
Отправлено: 11:59, 02-07-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Google maps API | veter48 | Вебмастеру | 0 | 26-06-2012 16:36 | |
Google Maps для Android обновлена до версии 6.5. Что нового? | OSZone News | Новости информационных технологий | 0 | 29-03-2012 01:30 | |
Google анонсировала новую версию Google Maps | OSZone News | Новости информационных технологий | 0 | 08-12-2010 20:30 | |
Творец Google Maps и Google Wave переходит в Facebook | OSZone News | Новости информационных технологий | 0 | 02-11-2010 12:30 | |
[решено] Сохранение карт с Google Maps | Yagorka | Microsoft Windows 2000/XP | 8 | 27-07-2005 22:04 |
|