HOME BLOG
 

MAPAS API

Classe SAPO.Maps.Overlay

Esta é a classe base de todas as overlays. Uma overlay pode ser adicionada ao mapa através do método addOverlay de SAPO.Maps.Map. Já existem algumas implementações de overlays na API actual, SAPO.Maps.Marker, SAPO.Maps.Polygon e SAPO.Maps.Polyline.
Para implementar uma nova overlay é preciso estender esta classe. De seguida são listados os métodos e propriedades da classe base passíveis de serem redefinidos.

 
Construtor
Construtor Descrição

SAPO.Maps.Overlay(options?:Object)

Cria uma nova instância de SAPO.Maps.Overlay. As opções são especificadas em options, um objecto com as seguintes chaves:

  • popupAnchor: OpenLayers.Pixel: Indica o local onde o popup se irá posicionar relativamente à latitude e longitude devolvidas pelo método getPopupAnchor.
Métodos
Método Retorno Descrição

getFeature()

OpenLayers.Feature

Este método não tem qualquer implementação na classe base, sendo obrigatório redefini-lo para que a overlay apareça sobre o mapa. Deve devolver uma instância de OpenLayers.Feature que represente o objecto a dispor sobre o mapa.

getPopupAnchor()

OpenLayers.LonLat

Este método não tem qualquer implementação na classe base, sendo obrigatório redefini-lo para que um popup possa ser aberto/fechado sobre a overlay. Deve devolver as coordenadas onde o popup relativo à overlay deve ser aberto.

removed()

void

Este método é chamado pelo método removeOverlay() de SAPO.Maps.Map. É uma oportunidade para realizar acções depois de a overlay ter sido removida do mapa, como por exemplo remover handlers de eventos.

setLayer(layer:OpenLayers.Layer)

void

Chamado quando a overlay é adicionada ao mapa. O método na classe base, regista os eventos necessários.

openPopup(content: DOM Element | String, options?: Object)

void

Abre um popup sobre a overlay, com o conteúdo HTML content. Dispara o evento “popupopened”. O parâmetro options recebe um objecto com as seguintes chaves:

  • borders:Object: Tem 4 chaves possíveis: left, bottom, right e top. Em cada uma delas pode ser dado um valor inteiro que representa a margem de abertura do popup em relação à borda do mapa, em pixels.

closePopup()

void

Se a overlay tiver um popup aberto, este método fecha-o e dispara o evento “popupclosed”.

hasOpenedPopup()

Boolean

Indica se a overlay tem um popup aberto.

enableDragging()

void

Torna a overlay arrastável sobre o mapa.

disableDragging()

void

Fixa a overlay ao mapa.

draggingEnabled()

Boolean

Indica se a overlay é arrastável.

clone()

SAPO.Maps.Overlay

Se redefinido, deve devolver uma cópia da instância actual.

registerEvent(eventType:SAPO.Maps.Overlay.EVENT_TYPES, context:Object, func:Function)

void

Regista a função func como listener do evento do tipo eventType. O callback func será chamado com o contexto context.

unRegisterEvent(eventType:SAPO.Maps.Overlay.EVENT_TYPES, context:Object, func:Function)

Boolean

Remove func como listener de eventos do tipo eventType. Retorna true ou false conforme o sucesso da operação.

Propriedades
Propriedade Tipo Descrição

layer

OpenLayers.Layer.Vector

A instância de layer a que pertence a overlay

Eventos
Os eventos do tipo SAPO.Maps.Overlay.EVENT_TYPES são listados a seguir. Estes tipos são utilizados com os métodos registerEvent e unRegisterEvent.
Evento Descrição

click(overlay:SAPO.Maps.Overlay)

Ocorre quando há click na overlay.

dblclick(overlay: SAPO.Maps.Overlay)

Ocorre quando há double click na overlay.

mousedown(overlay: SAPO.Maps.Overlay)

Ocorre quando há mousedown na overlay.

mouseup(overlay: SAPO.Maps.Overlay)

Ocorre quando há mouseup na overlay.

mouseover(overlay: SAPO.Maps.Overlay)

Ocorre quando há mouseover na overlay.

mouseout(overlay: SAPO.Maps.Overlay)

Ocorre quando há mouseout na overlay.

popupopened()

Ocorre quando é aberto o popup da overlay.

popupclosed()

Ocorre quando é fechado o popup da overlay.

dragstart(overlay: SAPO.Maps.Overlay)

Ocorre quando se inicia o drag da overlay.

drag(overlay: SAPO.Maps.Overlay)

Ocorre a cada drag da overlay.

dragend(overlay: SAPO.Maps.Overlay)

Ocorre após o drag da overlay.

enableddragging(overlay: SAPO.Maps.Overlay)

Ocorre quando o drag é activado.

disabledragging(overlay: SAPO.Maps.Overlay)

Ocorre quando o drag é desactivado.