AMarker

AMarker označuje pozici na mapě.  Implementuje rozhraní AOverlay a proto může být přidán na mapu pomocí metody AMap.addOverlay.

Vzhled

Vzhled značky definuje objekt typu AIcon.  Výchozí ikonka je <A_DEFAULT_ICON>.  Ikonku lze změnit.  V definici ikonky AIcon lze nastavil i popisek - jeho css font a pozici.  Má-li značka přiřazen odkaz, zaregistrovaný onClick, nebo je-li značka dragovací, lze využít Pixyho Fast Rollover http://wellstyled.com- /css-nopreload-rollovers.html, přesněji řečeno stačí podstrčit obrázek - značka sama mění pozici pozadí.

Aby se značka mohla umístit na mapu, je třeba jí v konstruktoru předat AGeoPoint.  AMarker vyhazuje několik užitečných událostí.  Všechny události začínají prefixem “on”, a krom kontruktoru je lze registrovat i pomocí metody addEvent.

Existují dva způsoby, jak do mapy vložit více značek.

Vložení všech značek najednou

Pokud není značek příliš velký počet, řádově do několika tisíc, lze díky interní optimalizaci značky na mapu umístit najednou.  Každá značka se zobrazí pouze tehdy, spadá-li do viditelné části mapy (nebo definovaného měřítka).  Pokud se na mapě takové množství značek nachází, je vhodné omezit značkám maximální měřítko, při kterém se vykreslí pomocí maxZoom.

Vkládání značek dynamicky

Pokud je třeba umístit na mapu více jak tisíc značek například, je lépe značky přidávat a odmazávat po každé změně středu mapy a to logicky pouze ty, které jsou viditelné.  Pro zvýšení výkonu se doporučuje nastavit checkVisibility option na false.

Arguments

aGeoPointzeměpisná poloha AGeoPoint ve které se má značka vykreslit
optionsvolitelné parametry, object literal

Options

iconobjekt typu AIcon, definuje vzhled značky.  Výchozí nastavení: A_DEFAULT_ICON
titleatribut title pro element značky
checkVisibilityzapne automatickou optimalizaci zobrazení značky, což znamená, že vykresleny jsou pouze ty, které spadají do viditelné části map, nebo vyhovují podmínce maxZoom.  Výchozí nastavení: true
labeltext ve značce, značku lze nastylovat i pomocí CSS
linkznačka se může vykreslit jako odkaz
linkTargetatribut target pro odkaz.  Výchozí nastavení: “_blank”
draggableznačka se stane dragovatelnou, její pozice AGeoPoint se aktualizuje
maxZoomomezení nejvyššího měřítka pro zobrazení značky.  Hodnotou je index v poli měřítek, kde 0 znamená největší oddálení.  Hodnotou může být i absolutní měřítko, což je vhodné, chceme-li zachovat konzistentní omezení při použití více typů mapových podkladů, kde 0 může znamenat pokaždé různé měřítko.
clickablenastaví kurzor pacičku (css pointer)
importantposune z-index o 10 výš, defakto lze tímto označit marker jako důležitější.  Výchozí nastavení false.
toFrontOnHoverna mouseover, tedy pokud je kurzor myši nad značkou, zajistí aby značka byla vidět celá, výchozí nastavení je false
onClickShowBubblerychlejší způsob, kterak zobrazit obsah v bublině, viz. příklad na dynamický marker

Events

onClickklik
onDblclickdvouklik
onMouseoverkurzor myši se nachází na značce
onMouseoutkurzor myši se nenachází na značce
onMousedownstisk tlačítka myši
onMouseuppovolení tlačítka myši
onBubbleShowdošlo k otevření bubliny
onBubbleClosedošlo k zavření bubliny
onRemovedošlo k odstranění značky
onDragStartzačátek dragování
onDragpři dragování
onDragEndkonec dragování (předaný parametr handleru je AGeoPoint určující novou pozici značky

Příklad

var praguePlace = new AGeoPoint(3460690, 5551757, ACoordinateSystem.S42)
var pragueMarker = new AMarker(praguePlace, {
title : "Zde leží město Praha",
link : "http://www.atlas.cz",
label : "P",
draggable : true
});
Summary
AMarker označuje pozici na mapě.
Chcete-li explicitně zavolat hover efekt na ikonce značky, je zde tato funkce.
Vypne mouseover efekt (vrátí pozici pozadí značky zpět).
Zobrazí značku
Schová značku
Pokud je značka schovaná, vrátí true
Pokud je na ikonce AIcon definován Pixyho fastRollover, posune metoda pozadí v ose y o dvoujnásobnout výšku elementu do minusu, což nastaví třetí možný stav ikonky.
Vrátí pozadí elementu na pozici 0 0.
Změní značku na dragovatelnou, tedy že ji půjde přesouvat po mapě myškou.
Poskočí značkou, stejně jako na konci dragování.
Metoda vrací aktuální polohu značky.
Metoda nastaví novou pozici značky
Metoda nastaví značce text.
Metoda vrátí element, který slouží jako label.
Metoda nastaví nový obrázek
Vrátí aktuálně nastavený obrázek
Metoda odstraní značku z mapy, instanci značky z pole overlays, a poté vyhodí událost onRemove
Metoda pro zobrazení informační bubliny nad značkou.
Zavře bublinu.
Metoda vrací DOM element reprezentující značku.

Functions

onMouseover

onMouseover: function(e)

Chcete-li explicitně zavolat hover efekt na ikonce značky, je zde tato funkce.  Hover efekt funguje na principu Pixyho rolloveru.  Funkce dělá toto: backgroundPosition = “0px “ + -this.element.offsetHeight + “px”;

onMouseout

onMouseout: function(e)

Vypne mouseover efekt (vrátí pozici pozadí značky zpět).

show

show: function(e)

Zobrazí značku

hide

hide: function(e)

Schová značku

isHidden

isHidden: function(e)

Pokud je značka schovaná, vrátí true

setActive

setActive: function()

Pokud je na ikonce AIcon definován Pixyho fastRollover, posune metoda pozadí v ose y o dvoujnásobnout výšku elementu do minusu, což nastaví třetí možný stav ikonky.  Česky řečeno, značka se označí jako aktivní (třeba při otevření bubliny).

setInactive

setInactive: function()

Vrátí pozadí elementu na pozici 0 0.

makeDraggable

makeDraggable: function()

Změní značku na dragovatelnou, tedy že ji půjde přesouvat po mapě myškou.

bounce

bounce: function()

Poskočí značkou, stejně jako na konci dragování.

getGeoPoint

getGeoPoint: function()

Metoda vrací aktuální polohu značky.

Returns

AGeoPoint

setGeoPoint

setGeoPoint: function(geopoint,
animate,
duration,
transition)

Metoda nastaví novou pozici značky

Arguments

geopointnová požadovaná pozice AGeoPoint značky
animateje-li true, bude změna pozice značky animovaná, nepovinný parametr
durationdélka animace v ms, nepovinný parametr
transitionprůběh animace podle Moo Transitions, nepovinný parametr

setLabel

setLabel: function(text)

Metoda nastaví značce text.  Ten se vypíše do elementu label.

Arguments

texttext, nebo HTML string pro obsah labelu

getLabel

getLabel: function(text)

Metoda vrátí element, který slouží jako label.

Returns

labelelement

setImage

setImage: function(src)

Metoda nastaví nový obrázek

Arguments

srccesta k obrázku

getImage

getImage: function()

Vrátí aktuálně nastavený obrázek

Returns

srccesta k obrázku

remove

remove: function()

Metoda odstraní značku z mapy, instanci značky z pole overlays, a poté vyhodí událost onRemove

showBubble

showBubble: function(content,
options)

Metoda pro zobrazení informační bubliny nad značkou.  Ve skutečnosti se volá metoda ABubble.show, které se argumenty předají.

Arguments

contentviz.  ABubble.show
optionsviz.  ABubble.show

Příklad

marker.showBubble("Ahoj, jsem <em>elastická</em> bublina.");

closeBubble

closeBubble: function(closeBubble)

Zavře bublinu.

getElement

getElement: function()

Metoda vrací DOM element reprezentující značku.

Returns

DOM element reprezentující značku.

onMouseover: function(e)
Chcete-li explicitně zavolat hover efekt na ikonce značky, je zde tato funkce.
onMouseout: function(e)
Vypne mouseover efekt (vrátí pozici pozadí značky zpět).
show: function(e)
Zobrazí značku
hide: function(e)
Schová značku
isHidden: function(e)
Pokud je značka schovaná, vrátí true
setActive: function()
Pokud je na ikonce AIcon definován Pixyho fastRollover, posune metoda pozadí v ose y o dvoujnásobnout výšku elementu do minusu, což nastaví třetí možný stav ikonky.
Třída definuje výchozí vzhled ikony a její vlastnosti.
setInactive: function()
Vrátí pozadí elementu na pozici 0 0.
makeDraggable: function()
Změní značku na dragovatelnou, tedy že ji půjde přesouvat po mapě myškou.
bounce: function()
Poskočí značkou, stejně jako na konci dragování.
getGeoPoint: function()
Metoda vrací aktuální polohu značky.
setGeoPoint: function(geopoint,
animate,
duration,
transition)
Metoda nastaví novou pozici značky
setLabel: function(text)
Metoda nastaví značce text.
getLabel: function(text)
Metoda vrátí element, který slouží jako label.
setImage: function(src)
Metoda nastaví nový obrázek
getImage: function()
Vrátí aktuálně nastavený obrázek
remove: function()
Metoda odstraní značku z mapy, instanci značky z pole overlays, a poté vyhodí událost onRemove
showBubble: function(content,
options)
Metoda pro zobrazení informační bubliny nad značkou.
closeBubble: function(closeBubble)
Zavře bublinu.
getElement: function()
Metoda vrací DOM element reprezentující značku.
Abstraktní třída popisuje rozhraní, které musí implementovat každý objekt typu AOverlay.
addOverlay: function(aOverlay)
Metoda slouží k přidání libovolného objektu, který implementuje rozhraní AOverlay na mapu.
Třída definuje polohu v konkrétním kartografickém systému daném výčtem ACoordinateSystem.
show: function(aGeoPoint,
content,
options)
Metoda zobrazí bublinu.