Changeset 39893 in spip-zone


Ignore:
Timestamp:
Aug 17, 2010, 7:03:06 PM (9 years ago)
Author:
berio@…
Message:

Some changes that allow auto resize of icon markers. Now it is possible to have markers of differents sizes with their shadows.
Icon images are #LOGO_MOT_NORMAL of the mots inside the marker_icon group
Icon shadows are #LOGO_MOT_SURVOL of the mots inside the marker_icon group

Location:
_plugins_/googlemap_api
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/googlemap_api/inc_json_public_map.html

    r39829 r39893  
    99        MarkerBaseWidth = "[(#CHEMIN{img_pack/correxir.png}|largeur)]";
    1010        MarkerBaseHeight = "[(#CHEMIN{img_pack/correxir.png}|hauteur)]";
     11        MarkerShadowBase = "[(#CHEMIN{img_pack/shadow.png}|url_absolue)]";
     12        MarkerShadowWidth = "[(#CHEMIN{img_pack/shadow.png}|largeur)]";
     13        MarkerShadowHeight = "[(#CHEMIN{img_pack/shadow.png}|hauteur)]";
    1114       
    1215        [(#SET{id_carte_gis,#ENV{id_carte_gis,1}})]
  • _plugins_/googlemap_api/inc_public_map.html

    r39679 r39893  
    66        URLbase = "[(#EVAL{_DIR_PLUGIN_GEOMAP}|url_absolue)]";
    77        URLbaseGis = "[(#EVAL{_DIR_PLUGIN_GIS}|url_absolue)]";
    8         MarkerImgBase = "[(#CHEMIN{img_pack/correxir.png})]";
     8        MarkerImgBase = "[(#CHEMIN{img_pack/correxir.png}|url_absolue)]";
    99        MarkerBaseWidth = "[(#CHEMIN{img_pack/correxir.png}|largeur)]";
    1010        MarkerBaseHeight = "[(#CHEMIN{img_pack/correxir.png}|hauteur)]";
     11        MarkerShadowBase = "[(#CHEMIN{img_pack/shadow.png}|url_absolue)]";
     12        MarkerShadowWidth = "[(#CHEMIN{img_pack/shadow.png}|largeur)]";
     13        MarkerShadowHeight = "[(#CHEMIN{img_pack/shadow.png}|hauteur)]";
    1114       
    1215        [(#SET{id_carte_gis,#ENV{id_carte_gis,1}})]
  • _plugins_/googlemap_api/js/geomap.js

    r39829 r39893  
    8484                var lng = parseFloat(jsonItem.lonx);
    8585                var id = parseInt(jsonItem.id);
    86                
     86
    8787                var point = new GPoint(lng,lat);
    8888                var icono_categoria = new GIcon();
    89                 icono_categoria.image = (jsonItem.icon ? jsonItem.icon : MarkerImgBase);
    90                 icono_categoria.shadow = URLbase + "img_pack/shadow.png";
    91                 icono_categoria.iconSize = new GSize(MarkerBaseWidth, MarkerBaseHeight);
    92                 icono_categoria.shadowSize = new GSize(37, 34);
    93                 icono_categoria.iconAnchor = new GPoint((MarkerBaseWidth/2), MarkerBaseHeight);
    94                 icono_categoria.infoWindowAnchor = new GPoint(5, 1);
     89
     90                var markerWidth = (jsonItem.icon.imageWidth ? jsonItem.icon.imageWidth : MarkerBaseWidth);
     91                var markerHeight = (jsonItem.icon.imageHeight ? jsonItem.icon.imageHeight : MarkerBaseHeight);
     92                var mShadowWidth = (jsonItem.icon.shadowWidth ? jsonItem.icon.shadowWidth : MarkerShadowWidth);
     93                var mShadowHeight = (jsonItem.icon.shadowHeight ? jsonItem.icon.shadowHeight : MarkerShadowHeight);
     94               
     95                icono_categoria.image = (jsonItem.icon.image ? jsonItem.icon.image : MarkerImgBase);
     96                icono_categoria.shadow = (jsonItem.icon.shadow ? jsonItem.icon.shadow: MarkerShadowBase);
     97                icono_categoria.iconSize = new GSize(markerWidth, markerHeight);
     98                icono_categoria.shadowSize = new GSize(mShadowWidth, mShadowHeight);   
     99                icono_categoria.iconAnchor = new GPoint((markerWidth/2), markerHeight);
     100                icono_categoria.infoWindowAnchor = new GPoint(markerWidth*1, 0);
    95101               
    96102                eval('marcador_' + id + ' = new GisMarker();');
     
    123129    if (noplayer == '') html += "<div id='player'></div>";
    124130    html += "<h3><a href='" + $("link",xmlItem).text() + "'>" + $("title",xmlItem).text() + "</a></h3>" + $("description",xmlItem).text() + "</div>";
    125                 var icon = $("geo_icon",xmlItem).text();
     131                var icon = $("geo_icon",xmlItem);
     132                var iconWidth = icon.attr("width");
     133                var iconHeight = icon.attr("height");
     134                var shadow = $("geo_icon_shadow",xmlItem);
     135                var shadowWidth = shadow.attr("width");
     136                var shadowHeight = shadow.attr("height");
     137                icon = icon.text();
     138                shadow = shadow.text();
     139               
    126140                var son;
    127141                if (xmlSon.length != 0) son = xmlSon.attr("url");
     
    132146                //creamos un icono para o marcador
    133147                var icono_categoria = new GIcon();
    134                 icono_categoria.image = (icon != "" ? icon : MarkerImgBase);
     148               
     149                //chequeamos si hai icono personalizado e po–emos a sua url, ancho e alto.
     150                if(icon != ''){
     151                        icono_categoria.image = icon;
     152                }else{         
     153                        icono_categoria.image = MarkerImgBase;
     154                        iconWidth = MarkerBaseWidth;
     155                        iconHeight = MarkerBaseHeight;
     156                }
     157               
     158                //chequeamos si queremos sombra
    135159                if(ombre != ''){
    136                         icono_categoria.shadow = URLbase + "img_pack/shadow.png";
    137                 }
    138                 icono_categoria.iconSize = new GSize(MarkerBaseWidth, MarkerBaseHeight);
    139                 icono_categoria.shadowSize = new GSize(37, 34);
    140                 icono_categoria.iconAnchor = new GPoint((MarkerBaseWidth/2), MarkerBaseHeight);
    141                 icono_categoria.infoWindowAnchor = new GPoint(5, 1);
     160                        //chequeamos si hai sombra personalizada e po–emos a sœa url, ancho e alto.
     161                        if(shadow != ''){
     162                                icono_categoria.shadow = shadow;
     163                        }else{
     164                                icono_categoria.shadow = MarkerShadowBase;
     165                                shadowWidth = MarkerShadowWidth;
     166                                shadowHeight = MarkerShadowHeight;
     167                        }
     168                }
     169                icono_categoria.iconSize = new GSize(iconWidth, iconHeight);
     170                icono_categoria.shadowSize = new GSize(shadowWidth, shadowHeight);     
     171                icono_categoria.iconAnchor = new GPoint((iconWidth/2), iconHeight);
     172                icono_categoria.infoWindowAnchor = new GPoint(iconWidth*1, 1);
    142173                       
    143174                // creamos el marcador con los datos almacenados en las variables
Note: See TracChangeset for help on using the changeset viewer.