Changeset 80095 in spip-zone for _plugins_/gis/trunk/gis_fonctions.php


Ignore:
Timestamp:
Jan 17, 2014, 2:52:40 PM (7 years ago)
Author:
brunobergot@…
Message:

Version 4.15.0 : simplification des squelettes JSON, filtre |gis_icon_properties

  • Nouveau filtre |gis_icon_properties qui renvoie les propriétés JSON de l'icône d'un point.
  • Petit changement de comportement pour les logo des points. Si le logo ne dépasse pas 44px de largeur, on ne le retaille pas. Ainsi on permet aux utilisateurs d'utiliser des marqueurs persos en respectant leur taille et transparence.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/gis/trunk/gis_fonctions.php

    r78939 r80095  
    377377        return $kml;
    378378}
     379
     380/**
     381 * Retourne les propriétés JSON de l'icône d'un point
     382 *
     383 * @param string $img
     384 *     Balise HTML `<img ... />` ou chemin de l'image (qui peut être une URL distante).
     385 * @return string
     386 *     Les propriétés de l'icône
     387**/
     388function gis_icon_properties($img=''){
     389        $props = $icon = '';
     390       
     391        if ($img) {
     392                if (largeur($img) >= 44)
     393                        $icon = extraire_attribut(filtrer('image_graver',filtrer('image_recadre',filtrer('image_passe_partout',$img,32,32),32,32,'center','transparent')),'src');
     394                else
     395                        $icon = extraire_attribut($img,'src');
     396        }
     397        else
     398                $icon = find_in_path('images/marker_defaut.png');
     399       
     400        if ($icon) {
     401                $props .= ",\n\"icon\": ". json_encode(url_absolue($icon)).",";
     402                list($h,$w) = taille_image($icon);
     403                $props .= "\n\"icon_size\": ". json_encode(array($w,$h)).",";
     404                $props .= "\n\"icon_anchor\": ". json_encode(array($w/2,$h)).",";
     405                $props .= "\n\"popup_anchor\": ". json_encode(array(1,$h/1.2));
     406        }
     407       
     408        if ($shadow = find_in_path('images/marker_defaut_shadow.png'))
     409                $props .= ",\n\"shadow\": ". json_encode(url_absolue($shadow));
     410       
     411        return $props;
     412}
     413
    379414?>
Note: See TracChangeset for help on using the changeset viewer.