Страница 1 из 1
					
				OpenLayers: pop-up окна
				Добавлено: 23 янв 2010, 19:21
				 Naphtizin
				Здравствуйте. Сделал на своей карте пару маркеров, при клике по маркерам появляются pop-up окна с информацией. Пользовался вот этим примером: 
openlayers.org/dev/examples/popupMatrix.html
Знает ли кто-нибудь как сделать чтобы окно всплывало не при клике, а при наведении курсора на маркер?
Заранее благодарен.
 
			
					
				Re: OpenLayers: pop-up окна
				Добавлено: 24 янв 2010, 00:00
				 wmk
				В примере есть строчка:
marker.events.register("mousedown", feature, markerClick);
Попробуй изменить событие на например mousemove , mouseout , mouseover
			 
			
					
				Re: OpenLayers: pop-up окна
				Добавлено: 24 янв 2010, 09:03
				 Naphtizin
				Спасибо! Написал так:
marker.events.register("mouseover", feature, markerClick);
marker.events.register("mouseout", feature, markerClick);
"mouseover" - для того чтоб окно появлялось и "mouseout" - чтоб исчезало.
Может не совсем правильно, но работает.
Еще раз спасибо.
			 
			
					
				Re: OpenLayers: pop-up окна
				Добавлено: 28 фев 2010, 09:44
				 Naphtizin
				Возникла новая проблема - сделал popup появляющийся по нажатию кнопки:
Код: Выделить всё
        function add() {
            popup = new OpenLayers.Popup("chicken", 
                                         new OpenLayers.LonLat(9222089.24280,7359384.47360),
                                         new OpenLayers.Size(100,100),
                                         "example popup",
                                         true);
            popup.closeOnMove = true;
            map.addPopup(popup, popupClass);
        }  
...
<button onclick="add(9222089.24280,7359384.47360)">Button</button>
Нужно чтобы окно имело форму облака (FramedCloud).
Пробовал так:
Код: Выделить всё
function add() {
            popup = new OpenLayers.Popup.FramedCloud("chicken", 
                                         new OpenLayers.LonLat(9222089.24280,7359384.47360),
                                         new OpenLayers.Size(100,100),
                                         "example popup",
                                         true);
            popup.closeOnMove = true;
            map.addPopup(popup);
        }
и так:
Код: Выделить всё
        AutoSizeFramedCloud = OpenLayers.Class(OpenLayers.Popup.FramedCloud, {
            'autoSize': true
        });
        function add() {
            popup = new OpenLayers.Popup("chicken", 
                                         new OpenLayers.LonLat(9222089.24280,7359384.47360),
                                         new OpenLayers.Size(100,100),
                                         "example popup",
                                         true);
            popupClass = AutoSizeFramedCloud;
            popup.closeOnMove = true;
            map.addPopup(popup);
        }  
В первом случае popup окно ввобще не появляется, во втором появляется, но такое как и было.
Может кто подскажет где я допускаю ошибку!?
 
			
					
				Re: OpenLayers: pop-up окна
				Добавлено: 28 фев 2010, 13:48
				 Mavka
				У меня работает - 
Geosample (см. код 
здесь).
У вас, на первый взгляд, не хватает параметра между "example popup" и "true". Это anchor, можно принять равным "null".
 
			
					
				Re: OpenLayers: pop-up окна
				Добавлено: 28 фев 2010, 15:53
				 Naphtizin
				Да, действительно. Так и есть. Теперь всё работает. Большое спасибо!