OHARRA: paperari dagokion orientazioa aukeratu zure nabigatzailearan inprimatze aukeretan. Honakoa egin dezakezu: orria inprimatu edo bisorera itzuli.

OpenLayersExt.Popup.FramedB5MapMarker

OpenLayersExt klasea OLEaren Marker erakusleetan finkatutako FramedB5Map popupak sortzeko.

Baldintzak

Funtzioen deskribapena

FramedB5MapMarker batek OpenLayersExt.Marker erakusle batean finkatutako FramedB5Map popup-a sortzen du. Berez, erakuslearen gainean klik bakarra eginez, popupa bere egoeraren arabera minimizatuko edo maximizatuko du. Popuparen “itxi” botoian behin klik eginaz, popupa zein erakuslea kenduko da mapatik.

Nola erabili

Ole mapa baten instantzia eta erakuslea sortzen du:

var map    = new OpenLayersExt.Map("mymap"),   // mapa sortu
    marker = new OpenLayersExt.Marker(lonlat); // erakuslea sortu

Komenigarria izan daiteke zure aplikazioan pare bat metodo sortzea erakusleak gehitzeko lana arintzeko. Dokumentu honentzat, adibide ugari dituela eta, hauxe egin dugu:

map._getMarkerLayer = function(){    // erakusleen geruzara sartu eta oraindik existitzen ez bada, hura sortu
  if (!this._marker_layer){
     this._marker_layer = new OpenLayersExt.Layer.Markers(
       "nire_erakusleak", 
       { isBaseLayer:false } 
     );  // singleton bat naiz!
  }
  return this._marker_layer;
}.bind(map);
map._addMarker  = function(marker){  // erakuslea mapari gehitu eta Marker objektua itzuli
  this._getMarkerLayer().addMarker(marker);
  return marker;
}.bind(map);

Erakuslea mapari gehituko diogu eta gure FramedB5MapMarker popup-a jarri nahi dugun puntuan zentratuko dugu gure ikuspegia.

map._addMarker(marker);         // erakuslea gehituko diogu mapari
map.setCenter(lonlat);          // interesatzen zaigun puntuan zentratuko dugu mapa

Gure Map eta Markerra dugula, FramedB5MapMarker bat gehitu ahal izango diogu mapari honela:

var hello_popup = new OpenLayersExt.Popup.FramedB5MapMarker({        
    marker:   marker,
    content: "Kaixo <i>Popup</i>!"  // HTML eduki pixka bat popuparen barruan erakusteko
});
map.addPopup(hello_popup);          // popupa mapari gehitu

Nahi baduzu, zeure metodoa erabili dezakezu popupa eta hari lotutako erakuslea kentzeko:

map._removePopup = function removePopup(popup){
  this.getMarkerLayer().removeMarker(popup.marker);
  popup.marker.destroy();   // goodbye marker
  this.removePopup(popup);
  popup.destroy();          // goodbye popup
}.bind(map);

Hori egin duzunean, kode-lerro honekin desegin ahal izango dituzu zure popupak:

map._removePopup(hello_popup);

Egilea

OpenLayersExt.Popup.FramedB5MapMarker

function( options ){}

  • Honetatik hartuta: OpenLayers.Popup.FramedB5Map

    Parametroak:

    Izena Mota

    Deskribapena

    options object Aukeratzeko argumentuak dituen objektua (hash).


    options parametroa

    Izena Mota

    Deskribapena

    id null ID bakarra popuparentzat. Automatikoki sortua zehazten ez denean.
    marker

    NOT NULL

    OpenLayersExt.Marker erakuslearen instantzia
    lonlat object OpenLayers.LonLat-en instantzia koordenatuekin.
    content string HTML edukia popuparen barruan erakusteko.
    minimizeBox boolean Popuparen “ikonotu” botoia kentzeko aukera.
    minimizeBoxCallback function Popupapa minimizatzen den bakoitzean abiarazteko.
    minimized boolean Egoera minimizatuan dagoen popupa kargatzeko aukera.
    closeBox boolean Popuparen “itxi” botoia kentzeko aukera.
    closeBoxCallback function Popupa ixten denean jarrera gainidazteko aukera.
    onComplete function Popupa exekutatzen bukatu duenean abiarazteko.

Propietateak

CLASS_NAME

OpenLayersExt.Popup.FramedB5MapMarker

Adibideak

OLEaren FramedB5MapMarker popup bat, lehenetsitako balioetatik igaroz:

var marker = map._addMarker(new OpenLayersExt.Marker(lonlat));
var popup  = new OpenLayersExt.Popup.FramedB5MapMarker({
  marker:               marker,                                 // erakuslea nahitaezkoa da eta ezin da null izan
  id:                   "b5map_popup_with_marker",              // ausazko katea, besterik esan ezean
  content:              "Some <strong>HTML</strong> content.",  // kate hutsa, besterik esan ezean: ""
  closeBox:             true,                                   // true, besterik esan ezean
  closeBoxCallback:     map._removePopup,                       // popupa eta bere markerra ezkutatzen du, besterik esan ezean
  minimizeBox:          true,                                   // true, besterik esan ezean
  minimizeBoxCallback:  function(){ /*alert("minimize cb!")*/ } // popupa ezkutatzen du, besterik esan ezean
});
map.addPopup(popup);

FramedB5MapMarker Popup minimizatu bat kargatu:

var marker = map._addMarker(new OpenLayersExt.Marker(lonlat));
var popup  = new OpenLayersExt.Popup.FramedB5MapMarker({
    id:                   "b5map_popup_minimized",          
    marker:               marker,
    content:              "Minimize by default by sending boolean argument \"minimized\" with a value of true.",
    closeBoxCallback:     map._removePopup,      
    minimized:            true     // load as minimized popup
});
map.addPopup(popup);

FramedB5MapMarker-Popup bat ixteko botoirik gabe:

var marker  = this.addMarkerToMap(new OpenLayersExt.Marker(lonlat));
var popup   = new OpenLayersExt.Popup.FramedB5MapMarker({
    id:           "framed-b5map-marker-without-closebox",          
    marker:       marker,
    content:      "Look, Mom! No closeBox! Just pass the closeBox parameter as false.",
    closeBox:     false
});
map.addPopup(popup);

FramedB5MapMarker Popup-a erakusle handiago eta itsusiagoarekin:

var marker = new OpenLayersExt.Marker(lonlat, {
  icon: OpenLayersExt.Marker.getIcon('http://img.fannation.com/upload/user_profile/image/199/608/thumb/hasselhoff.gif',50,50),
  style: { top:"-2px", background:"none" }
});
var popup = new OpenLayersExt.Popup.FramedB5MapMarker({
    content:              "Some <strong>HTML</strong> content.", 
    marker:               map._addMarker(marker),                   
    closeBoxCallback:     map._removePopup
});
map.addPopup(popup);

FramedB5MapMarker Popup kanpoko erakuslearekin eta itzalarekin:

var marker = new OpenLayersExt.Marker(lonlat, {
  icon: OpenLayersExt.Marker.getIcon('http://labs.google.com/ridefinder/images/mm_20_red.png',12,20),
  style: {
    background:"url(http://labs.google.com/ridefinder/images/mm_20_shadow.png)"
    ,width:   "22px"
    ,height:  "20px"
    ,left:    "-1px"
    ,top:     "-1px"
  }
});
var popup = new OpenLayersExt.Popup.FramedB5MapMarker({
    content:              "Some <strong>HTML</strong> content.", 
    marker:               map._addMarker(marker),                   
    closeBoxCallback:     map._removePopup
});
map.addPopup(popup);