Не создается popup

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
iskander
Новоприбывший
Сообщения: 1
Зарегистрирован: 26 апр 2011, 14:44
Репутация: 0

Не создается popup

Сообщение iskander »

Господа и дамы, прошу помощи!
Есть код:

Код: Выделить всё

	switch( bounds[i].Type )
	{
		case "Point":
			var size = new OpenLayers.Size(20,20);
			var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
			var icon = new OpenLayers.Icon('http://domain.ru/images/marker_map_red.png', size, offset);

			var ll = new OpenLayers.LonLat( bounds[ i ].Bounds[ 0 ].x , bounds[ i ].Bounds[ 0 ].y );
			var feature = new OpenLayers.Feature(markers, ll);
				feature.closeBox = false;
				feature.popupClass = OpenLayers.Class(OpenLayers.Popup.AnchoredBubble, {'autoSize':true,'minSize': new OpenLayers.Size(70, 20) } );
				feature.data.popupContentHTML = '<?=$line['name_firm']?>';
				feature.data.overflow = "hidden";

			//feature.popup = feature.createPopup(this.closeBox);
			//map.addPopup( feature.popup );

			var marker = new OpenLayers.Marker(ll, icon);
			    marker.feature = feature;
			var markerClick = function(evt) {
				if (this.popup == null) {
					this.popup = this.createPopup(this.closeBox);
					map.addPopup(this.popup);
					//this.popup.show();
				} else {
					this.popup.toggle();
				}
			       OpenLayers.Event.stop(evt);
		};


		marker.events.register("mousedown", feature, markerClick);									
		markers.addMarker( marker );

		map.setCenter(new OpenLayers.LonLat( bounds[ i ].Bounds[ 0 ].x, bounds[ i ].Bounds[ 0 ].y ), 16);
	break;
	}
Всё хорошо, всё работает пока не раскоментить код:

Код: Выделить всё

//feature.popup = feature.createPopup(this.closeBox);
//map.addPopup( feature.popup );
тогда начинает ругаться на проперть left которого не существует.

А нужно мне - чтобы созданный popup показывался сразу, а не после клика.
Хелп ми плиз :)
Amayak
Новоприбывший
Сообщения: 8
Зарегистрирован: 11 ноя 2010, 07:39
Репутация: 0

Re: Не создается popup

Сообщение Amayak »

Здравствуйте! Я тоже аналогичным кодом создаю Маркеры с Popup.
Подскажите как при клике на следующий Маркер убрать предыдущие Popup-ы.
kosyag
Интересующийся
Сообщения: 30
Зарегистрирован: 22 янв 2010, 13:19
Репутация: 0

Re: Не создается popup

Сообщение kosyag »

Кусок моего (рабочего) кода:

Код: Выделить всё

var pop=new OpenLayers.Popup.FramedCloud(
				"cloud", 
				map.getLonLatFromPixel(e.xy),
				null,
				out,
				null,
				true);
map.addPopup(pop);
Очевидно, что если вместо координат события e.xy поставить любые другие (валидные) координаты, то попап появится там.
Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость