Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Google maps api балун.

Ответить
Настройки темы
Google maps api балун.

Пользователь


Сообщения: 107
Благодарности: 0

Профиль | Отправить 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;
      }
Скрыть маркеры одной категории:
Код: Выделить весь код
function hide(category) {
        for (var i=0; i<gmarkers.length; i++) {
          if (gmarkers[i].mycategory == category) {
            gmarkers[i].setVisible(false);
          }
        }
        document.getElementById(category+"box").checked = false;
        infowindow.close();
      }

Отправлено: 12:21, 29-06-2012

 

Пользователь


Сообщения: 107
Благодарности: 0

Профиль | Отправить 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



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Google maps api балун.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход