HOME BLOG
 

MAPAS API

Classe SAPO.Maps.Directions

Esta classe é usada para obter direcções entre dois pontos. Opcionalmente pode apresentar no mapa o percurso, bem como a sua descrição.

 
Construtor
Construtor Descrição

SAPO.Maps.Directions(map?:SAPO.Maps.Map, panel?:DOMElement|String, options?:Object)

Cria uma nova instância de SAPO.Maps.Directions. Opcionalmente recebe um mapa onde será traçado o itinerário e também um elemento DOM (ou o seu id) onde será apresentada a descrição do percurso.
As opções são especificadas num objecto com as seguintes chaves:

  • language:String: O idioma da descrição de percurso a aparecer no painel. Os valores possíveis são “pt” ou “en”.
Métodos
Método Retorno Descrição

getDirections(start:OpenLayers.LonLat, end:OpenLayers.LonLat, options?:Object)

void

Este método procura um percurso entre start e end. Se um pedido de percurso ainda estiver em curso, este tem primeiro que ser cancelado através do método cancel.
As opções são especificadas num objecto com as seguintes chaves:

  • mode:String: O tipo de percurso a pesquisar: “fastest”, “shortest” ou “walk”.
  • description:String: Caso tenha sido fornecido um painel no construtor, description especifica o tipo da descrição que será apresentada no painel: “text”, “map” ou “textmap”.

No fim da execução deste método, é disparado o evento loading. Conforme o sucesso, erro ou timeout serão disparados os eventos correspondentes.

getStatus()

SAPO.Maps.Request.Status

Devolve um objecto SAPO.Maps.Request.Status indicativo do estado do objecto SAPO.Maps.Directions. Os valores possíveis são:

  • STOP: Não existe nenhum pedido em curso. Este é o estado inicial.
  • OK: O último pedido foi concluído com sucesso.
  • ERROR: Ocorreu um erro com o último pedido.
  • REQUESTING: Encontra-se um pedido em curso.
  • CANCELED: O pedido que estava em curso foi cancelado.

getBounds()

OpenLayers.Bounds

Devolve uma bounding box que representa as extremidades do percurso encontrado.

getPolyline()

SAPO.Maps.Polyline

Devolve um objecto SAPO.Maps.Polyline que representa o percurso. SAPO.Maps.Polyline é uma overlay podendo assim ser adicionada ao mapa directamente com o método de SAPO.Maps.Map, addOverlay.

getDuration()

Double

Devolve a duração do percurso, em segundos.

getDistance()

Integer

Devolve a distância do percurso, em metros.

getRoute()

SAPO.Maps.Directions.Route

Devolve um objecto SAPO.Maps.Directions.Route que encapsula os dados do percurso encontrado.

getStartLonLat()

OpenLayers.LonLat

Devolve as coordenadas do ponto de início do percurso.

getEndLonLat()

OpenLayers.LonLat

Devolve as coordenadas do ponto final do percurso.

getDescription()

Array<String>

Devolve um array cujas posições contêm a descrição dos vários passos do percurso. Esta descrição é fornecida no idioma que foi definido nas opções do construtor (Português por omissão).

getSummaryHTML()

DOM Element

Devolve um elemento HML div que contém a descrição do itinerário.

navigateTo(idxStep)

void

Navega no mapa até ao step cujo índice é igual a idxStep. Os steps são objectos SAPO.Maps.Directions.Step e podem ser obtidos através do método getSteps() de SAPO.Maps.Directions.Route.

openPopup(idxStep)

void

Abre um popup sobre o mapa com a descrição do step com o índice idxStep.

unselectStep()

void

Desselecciona o step actualmente seleccionado.

closePopup()

void

Fecha o popup actualmente aberto, se existir.

showMap(idxStep)

void

Se tiver sido fornecido um painel no construtor, este método mostra um pequeno mapa nesse painel, para o step cujo índice é igual a idxStep.

hideMap(idxStep)

void

Se tiver sido fornecido um painel no construtor, este método esconde o mapa que está a ser mostrado no painel para o step com índice igual a idxStep.

showText(idxStep)

void

Semelhante ao método showMap, com a diferença que o que é mostrado é a descrição textual do step com índice idxStep.

hideText(idxStep)

void

Semelhante ao método hideMap, escondendo a descrição textual do step com índice idxStep.

clear()

void

Limpa o percurso desenhado no mapa e a descrição presente no painel. Dispara o evento clear.

cancel()

void

Cancela pedidos que estejam pendentes e dispara o evento canceled.

registerEvent(eventType:SAPO.Maps.Directions.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.Directions.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.

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

completed(directions:SAPO.Maps.Directions)

Disparado quando um pedido para obter direcções é concluído com sucesso.

timeout(directions:SAPO.Maps.Directions)

Disparado quando não há resposta ao pedido.

error(directions:SAPO.Maps.Directions)

Disparado quando ocorre um erro no processamento de um pedido.

clear(directions:SAPO.Maps.Directions)

Disparado quando o percurso é retirado do mapa e o painel é limpo.

canceled(directions:SAPO.Maps.Directions)

Disparado quando um pedido é cancelado.

noroute(directions:SAPO.Maps.Directions)

Disparado quando não é encontrado um percurso entre os pontos de início e fim.

loading()

Disparado quando se inicia um novo pedido.

stepSelected(directions:SAPO.Maps.Directions, stepIdx:Integer)

Disparado quando um step é seleccionado.

stepUnselected(directions:SAPO.Maps.Directions, stepIdx:Integer)

Disparado quando um step é desseleccionado.

popupOpened(directions:SAPO.Maps.Directions, stepIdx:Integer)

Disparado quando é aberto um popup com a informação de um step.

popupClosed(directions:SAPO.Maps.Directions, stepIdx:Integer)

Disparado quando o popup aberto é fechado.