Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.04.2012, 18:54
Новичок на форуме
Отправить личное сообщение для Hubet Посмотреть профиль Найти все сообщения от Hubet
 
Регистрация: 24.06.2010
Сообщений: 8

Google Maps Markers - Не могу вывести больше 11 штук
Не пойму в чем моя проблема. Вроде ограничений на количество маркеров не стоит изначально у гугловских карт, но я не могу вывести больше чем 11 маркеров на карту .

Работает это так.

1) initialize_big_map создает карту
2) MyMarkerSet - класс, с маркерами одной подгруппы. Экземпляров этого класса несколько у меня. Через MyMarkerSet.add_to_map добавляю маркеры на карту.
3) При нажатии на определенные кнопки подгрупп я прячу или показываю соотв. маркеры на карте: MyMarkerSet.showhide_from_map .

4) Маркеров создаю горы, но показывает только 11

Консоль JavaScript в Chrome молчит, ошибок нет.

Собственно, вот код. Подскажите плиз. Я вообще PHP-шник, в JS у меня туго пока.

var map;

function initialize_big_map(map_container_id) {									
	var geocoder = new google.maps.Geocoder();
	var mylatlng = new google.maps.LatLng(49.9935,36.230383); //Kharkiv
	var myOptions = {
		zoom: 11,
		center: mylatlng,
		mapTypeId: google.maps.MapTypeId.ROADMAP
	};										
	map = new google.maps.Map(document.getElementById(map_container_id), myOptions);									
}


function MyMarkerSet(){
	this.flag = false;					   
	var markersArray = this.markers_array = new Array();

	
	// Добавление мекток на карту (visible: false)
	this.add_to_map = function (m_address, m_title) {		
		var geocoder = new google.maps.Geocoder();
		geocoder.geocode ( 
			{ 'address': m_address}, function(results, status) {
							if (status == google.maps.GeocoderStatus.OK) {
								map.setCenter(results[0].geometry.location);							
								var marker = new google.maps.Marker({
									map: map,
									position: results[0].geometry.location,
									title: m_title+": "+m_address,									
									visible: false
								});
								markersArray.push(marker);						
							} else {
								//alert("Geocode was not successful for the following reason: " + status);							
							}
			}
		)					
	}
	
	// Показать определенные маркеры. Вызывается при нажатии на сообтв. кнопку. 
	this.showhide_from_map = function () {		
		if (this.flag == false) {			
			for (var i = 0; i < this.markers_array.length; i++) {
			  this.markers_array[i].setVisible(true);			 
			}
			this.flag=true;				
		} else {			
			for (var i = 0; i < this.markers_array.length; i++) {
			  this.markers_array[i].setVisible(false);
			}
			this.flag=false;				
		}
	}
	
	
}

Последний раз редактировалось Hubet, 23.04.2012 в 19:03.
Ответить с цитированием
  #2 (permalink)  
Старый 23.04.2012, 19:57
Новичок на форуме
Отправить личное сообщение для Hubet Посмотреть профиль Найти все сообщения от Hubet
 
Регистрация: 24.06.2010
Сообщений: 8

Рылся еще на буржайских форумах, там пишут что geocoding требует небольшую задержку. Это проблему не решает сразу, но я уже понял куда двигаться.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь с google maps ZeKuSS jQuery 3 15.11.2013 16:49
Как запустить модальное окно из информационного окна google maps? www123 jQuery 5 04.09.2011 23:38
JavaScript + Google Maps ahimaskrasavin Элементы интерфейса 5 20.06.2011 13:21
Google maps алгоритм приближения к точке mycoding Общие вопросы Javascript 2 20.04.2010 13:58