HOME BLOG
 

MAPAS API

Classe SAPO.Maps.Map

As instâncias de SAPO.Maps.Map representam um mapa para apresentar numa página.

 
Construtor
Construtor Descrição

SAPO.Maps.Map(container:String, opts?:Object)

Cria um novo mapa dentro do elemento DOM com ID igual a container. Tipicamente o elemento onde o mapa é apresentado deve ser um DIV. As opções são especificadas em opts, um objecto cujas chaves são:

  • isDraggable:Boolean: Indica se o mapa deve ser arrastável. Por omissão é true.
  • isWheelEnabled:Boolean: Indica se é possível efectuar zoom com a roda do rato. Por omissão é true.
Métodos
Método Retorno Descrição

getBaseLayers()

Object

Devolve um objecto com as referências para as base layers. Este objecto contém os vários tipos de vista sobre o mapa (mapa, satélite e híbrido).
O objecto tem as seguintes chaves:

  • NORMAL_MAP: layer de mapa.
  • SATELLITE_MAP: layer de fotografias aéreas, sem vias.
  • HYBRID_MAP: layer de fotografias aéreas, com vias.
  • TERRAIN_MAP: layer de terreno com informação de relevo.

enableDragging()

void

Torna o mapa arrastável (já o é por omissão)

disableDragging()

Void

Torna o mapa não arrastável.

draggingEnabled()

Boolean

Indica se o mapa é arrastável ou não.

enableScrollWheelZoom()

void

Activa o zoom no mapa usando a roda do rato. Por omissão esta funcionalidade encontra-se activa.

disableScrollWheelZoom()

void

Desactiva o zoom no mapa usando a roda do rato. Por omissão este funcionalidade encontra-se activa.

scrollWheelZoomEnabled()

void

Indica se é possível efectuar zoom com a roda do rato. Por omissão esta funcionalidade encontra-se activa.

addLayer(layer:OpenLayers.Layer)

void

Adiciona layer ao mapa.

removeLayer(layer:OpenLayers.Layer)

void

Remove layer do mapa.

addMarkers(markers:SAPO.Maps.Markers)

void

Adiciona um conjunto de marcadores (contidos na layer de markers) ao mapa.

removeMarkers(markers: SAPO.Maps.Markers)

void

Remove o conjunto de marcadores (contidos na layer de markers) do mapa.

addOverlay(overlay:SAPO.Maps.Overlay)

void

Adiciona overlay ao mapa. Um exemplo de uma overlay já existente é SAPO.Maps.Marker.

removeOverlay(overlay:SAPO.Maps.Overlay)

void

Remove overlay do mapa, se esta estiver adicionada. Para invocar este método é necessário que a overlay se encontre adicionada ao mapa.

getLonLatFromContainerPixel(px:OpenLayers.Pixel)

OpenLayers.LonLat

Converte px de um objecto que representa um ponto no contentor do mapa (em pixéis) para um objecto que representa um ponto no globo terrestre (em coordenadas).

getContainerPixelFromLonLat(lonlat:OpenLayers.LonLat)

OpenLayers.Pixel

Converte lonlat de um objecto que representa um ponto no globo terrestre (em coordenadas) para um objecto que representa um ponto no contentor do mapa (em pixéis).

getBounds()

OpenLayers.Bounds

Devolve os extremos do mapa (a sua bounding box).

setBounds(bounds:OpenLayers.Bounds, closest?:Boolean)

void

Define a bounding box do mapa, alterando o seu centro e zoom. Se closest for true, é encontrado o nível de zoom que melhor contém bounds, podendo no entanto a área abrangida ser menor. Por omissão closest é false.

getMapCenter()

OpenLayers.LonLat

Devolve as coordenadas do centro do mapa.

setMapCenter(lonlat:OpenLayers.LonLat, zoom?:Integer)

void

Centra o mapa em lonlat e, se definido, coloca o zoom igual a zoom.

getZoom()

Integer

Devolve o nível de zoom actual do mapa.

zoomTo(zoom:Integer)

void

Altera o nível de zoom do mapa para zoom. Os níveis de zoom suportados estão compreendidos entre 4 e 19.

zoomIn()

void

Aumenta o nível de zoom em uma unidade.

zoomOut()

void

Diminui o nível de zoom em uma unidade.

destroy()

void

Destrói a instância de mapa.

setBaseLayer(newBaseLayer:OpenLayers.Layer)

void

Define newBaseLayer como nova base layer do mapa. Para obter uma lista de base layers existentes, consultar o método getBaseLayers().

addControl(control:OpenLayers.Control, px:OpenLayers.Pixel)

void

Adiciona control ao mapa. O parâmetro px indica ao controlo o pixel onde este se deve posicionar.

removeControl(control:OpenLayers.Control)

void

Se adicionado ao mapa, remove control do mapa.

pan(dx:Integer, dy:Integer, options?:Object)

void

Move o mapa o número de pixéis passados em dx e dy. O objecto options contém as seguintes chaves:

  • animate:Boolean: Indica se o movimento do mapa se deve realizar com uma animação. Por omissão é true.
  • dragging:Boolean: Indica se com este movimento devem ser disparados os eventos de move do mapa. Por omissão é false.
Propriedades
As propriedades listadas são públicas e podem ser acedidas directamente através da instância do objecto.
Propriedade Tipo Descrição

events

OpenLayers.Events

O objecto que trata os eventos do mapa. É através dele que se registam listeners nos eventos.

div

DOM Element

O elemento div da página que contém o mapa.

layers

Array<OpenLayers.Layer>

Todas as layers que estão adicionadas ao mapa.

baseLayer

OpenLayers.Layer

A base layer actual.

Eventos
Os eventos do tipo SAPO.Maps.Map.EVENT_TYPES são listados a seguir. Os eventos são registados no mapa da seguinte forma:

mapInstance.events.register(type, obj, listener)

Regista listener como handler para o evento do tipo type. A função listener será chamada com o contexto passado em obj.

mapInstance.events.unregister(type, obj, listener)

Remove listener de handler para o evento do tipo type.

Evento Descrição

preaddlayer(evt:OpenLayers.Event)

Disparado antes de uma layer ser adicionada ao mapa. O parâmetro evt contém uma propriedade layer que referencia a layer prestes a ser adicionada.

addlayer(evt:OpenLayers.Event)

Disparado depois de uma layer ter sido adicionada ao mapa. O parâmetro evt contém uma propriedade layer que referencia a layer adicionada.

removelayer(evt:OpenLayers.Event)

Disparado após uma layer ter sido removida. O parâmetro evt contém uma propriedade layer que referencia a instância de layer removida.

changelayer(evt:OpenLayers.Event)

Disparado depois da mudança de nome, ordem ou visibilidade de uma layer. O parâmetro evt contém uma propriedade layer que referencia a instância de layer na qual houve alteração. Este parâmetro tem também uma propriedade property que indica o tipo de alteração na layer. Os valores possíveis de property são:

  • name
  • visibility
  • order

movestart(evt:OpenLayers.Event)

Disparado após o inicio de um drag, pan ou zoom.

move(evt:OpenLayers.Event)

Disparado a cada drag, pan ou zoom.

moveend(evt:OpenLayers.Event)

Disparado após o fim de um drag, pan ou zoom.

zoomend(evt:OpenLayers.Event)

Disparado após o fim de um zoom.

mouseover(evt:OpenLayers.Event)

Disparado a cada mouseover no mapa.

mouseout(evt:OpenLayers.Event)

Disparado a cada mouseout no mapa.

mousemove(evt:OpenLayers.Event)

Disparado a casa mousemove sobre o mapa.

changebaselayer(evt:OpenLayers.Event)

Disparado após a mudança da base layer.

click(evt:OpenLayers.Event)

Disparado após o clique no mapa.

dblclick(evt:OpenLayers.Event)

Disparado após um double clique no mapa.

singlerightclick(evt:OpenLayers.Event)

Disparado após o clique com o botão direito do rato no mapa.

dblrightclick(evt:OpenLayers.Event)

Disparado após um double clique com o botão direito no mapa.

mousedown(evt:OpenLayers.Event)

Disparado quando o utilizador prime o botão esquerdo do rato sobre o mapa.

click(evt:OpenLayers.Event)

Disparado quando o utilizador larga o botão esquerdo do rato sobre o mapa.