AMarkerAMarker označuje pozici na mapě. Implementuje rozhraní AOverlay a proto může být přidán na mapu pomocí metody AMap.addOverlay. VzhledVzhled 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 najednouPokud 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 dynamickyPokud 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| aGeoPoint | zeměpisná poloha AGeoPoint ve které se má značka vykreslit | | options | volitelné parametry, object literal |
Options| icon | objekt typu AIcon, definuje vzhled značky. Výchozí nastavení: A_DEFAULT_ICON | | title | atribut title pro element značky | | checkVisibility | zapne 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 | | label | text ve značce, značku lze nastylovat i pomocí CSS | | link | značka se může vykreslit jako odkaz | | linkTarget | atribut target pro odkaz. Výchozí nastavení: “_blank” | | draggable | značka se stane dragovatelnou, její pozice AGeoPoint se aktualizuje | | maxZoom | omezení 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. | | clickable | nastaví kurzor pacičku (css pointer) | | important | posune z-index o 10 výš, defakto lze tímto označit marker jako důležitější. Výchozí nastavení false. | | toFrontOnHover | na mouseover, tedy pokud je kurzor myši nad značkou, zajistí aby značka byla vidět celá, výchozí nastavení je false | | onClickShowBubble | rychlejší způsob, kterak zobrazit obsah v bublině, viz. příklad na dynamický marker |
Events| onClick | klik | | onDblclick | dvouklik | | onMouseover | kurzor myši se nachází na značce | | onMouseout | kurzor myši se nenachází na značce | | onMousedown | stisk tlačítka myši | | onMouseup | povolení tlačítka myši | | onBubbleShow | došlo k otevření bubliny | | onBubbleClose | došlo k zavření bubliny | | onRemove | došlo k odstranění značky | | onDragStart | začátek dragování | | onDrag | při dragování | | onDragEnd | konec dragování (předaný parametr handleru je AGeoPoint určující novou pozici značky |
Příkladvar 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). | | | | | | 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. | | | | Metoda vrací DOM element reprezentující značku. |
onMouseoverChcete-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”;
onMouseoutVypne mouseover efekt (vrátí pozici pozadí značky zpět).
isHiddenPokud je značka schovaná, vrátí true
setActivePokud 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).
setInactiveVrá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.
bouncePoskočí značkou, stejně jako na konci dragování.
getGeoPointMetoda vrací aktuální polohu značky. ReturnsAGeoPoint
setGeoPoint| setGeoPoint: function( | geopoint, | | animate, | | duration, | | transition | ) |
|
Metoda nastaví novou pozici značky Arguments| geopoint | nová požadovaná pozice AGeoPoint značky | | animate | je-li true, bude změna pozice značky animovaná, nepovinný parametr | | duration | délka animace v ms, nepovinný parametr | | transition | průběh animace podle Moo Transitions, nepovinný parametr |
setLabelMetoda nastaví značce text. Ten se vypíše do elementu label. Arguments| text | text, nebo HTML string pro obsah labelu |
getLabelMetoda vrátí element, který slouží jako label. Returns
setImageMetoda nastaví nový obrázek Arguments
getImageVrátí aktuálně nastavený obrázek Returns
removeMetoda 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í. ArgumentsPříkladmarker.showBubble("Ahoj, jsem <em>elastická</em> bublina.");
closeBubble| closeBubble: function( | closeBubble | ) |
|
Zavře bublinu.
getElementMetoda vrací DOM element reprezentující značku. ReturnsDOM element reprezentující značku.
|