Bonjour
Mes photos sont géolocalisées grâce à OpenStreetMap. La géolocalisation s'affiche sur la carte.
En page photo, y a-t-il moyen d'afficher aussi "en texte" la géolocalisation, telle qu'elle s'affiche déjà côté admin ?
Merci de toute suggestion.
Hors ligne
Bonjour,
oui si l'information existe il est forcement possible de l'afficher
Hors ligne
Bonjour,
* soit utiliser le bouton pour afficher les données EXIF
* soit modifier le plugin openstreetmap
Dans la deuxième possibilité il s'agit d'identifier le fichier à modifier. Tu remarqueras dans le code source l'id de bloc map-info, en cherchant ce "map-info" dans les fichiers du répertoire du plugin tu trouveras le fichier picture.inc.php. "map-info" apparaît dans sa fonction osm_insert_map, qui utilise des variables préparées par cette autre fonction osm_render_element_content.
Avec ça tu devrais pouvoir réussir à atteindre ton objectif, voire à publier une proposition d'amélioration des fonctionnalités du plugin sur github. [extension by xbgmsharp] piwigo-openstreetmap
Hors ligne
Merci à vous deux, mais ...
j'ai spécifié la géolocalisation depuis le site en situant la photo sur la carte d'openstreet map. Donc elle ne sera pas dans les exif. Donc la récupération via les exifs n'est pas une option sauf à récrire l'info dans les exifs puis à les afficher. Devrait y a voir plus simple.
Quant au jeu de piste que propose TOnin, c'est un poil au-dessus de mes capacités, je suis une littéraire, moi. Et puis Github a toujours (en fin pas au début) été un monde mystérieux pour moi, voire hostile. La plupart du temps, je ne sais même pas y trouver le zip à télécharger, alors y faire une proposition ... Pourtant, j'y ai un compte depuis plus d'une décennie.
Dernière modification par Katryne (2022-02-04 13:02:09)
Hors ligne
Bonjour,
Si les données ne sont pas dans les exifs mais dans des snfos du plugin c'est un poil plus compliqué
je dirais de regarder le nom de la variable Smarty qu'il utilise pour l'afficher et de reporter cela dans le template (en plugin ou en option du plugin cela serait mieux.
Tu peux aussi faire une demande d'évolution du plugin mais je pense qu'il est passé sur le github de piwigo > https://github.com/Piwigo/piwigo-openstreetmap
je ne pense pas que ce soit une priorité pour l'instant
Hors ligne
Je pense que les données de géolocalisation EXIF sont copiées dans les champs afférents de la table piwigo_images lors de l'import ou de la synchronisation (en fonction du mappage spécifié dans local/config/config.inc.php). Ce sont ces mêmes champs que le plugin permet d'ajouter ou d'éditer au besoin. Ainsi dans notre cas, les données affichées dans les pages piwigo sont issues de la base de données. (NB : on peut imaginer que dans certains cas d'utilisation, il puisse y avoir divergence entre les données EXIF de l'image, et celle de la base de données, notamment après édition)
Voici les deux modifications de code qui étoffent les fonctionnalités du plugin (et qui d'ores et déjà pourraient être publiées sur github, je le ferai à l'occasion) :
fichier plugins/piwigo-openstreetmap/picture.inc.php :
function osm_insert_map
{if $SHOWOSM} <a href="{$OSMLINK}" target="_blank">{"VIEW_OSM"|@translate}</a> {/if} <br><span>{$OSMNAME} : {$LAT} {$LON}</span> </dd>
function osm_render_element_content
'OSMLINK' => $osmlink, 'LAT' => $lat, 'LON' => $lon, )
Modification ; ajout du résultat :
Chez moi le résultat est l'ajout sous le code HTML de la carte (et sous le lien openstreetmap $OSMLINK) du code <br><span>Géolocalisation : 45.091837 2.735725</span>
Soit dans le navigateur : Géolocalisation : 45.091837 2.735725
Dernière modification par TOnin (2022-02-04 20:27:39)
Hors ligne
Merci merci, laissez-moi digérer tout cela.
Hors ligne
TOnin, j'ai modifié le fichier, mais aucun élément nouveau ne s'affiche :
Site de test : https://gabandjo.legtux.org/piwigo/pict … and_canyon
Piwigo 12.2.0
Système d'exploitation: Linux
PHP: 7.4.27
MySQL: 5.5.5-10.5.12-MariaDB-0+deb11u1]
Bibliothèque graphique: ImageMagick 6.9.11-60
Thème Modus 12.2.0
parmi les plugins :
OSM 12.4
Manage properties photo 12.0.a
Qu'est-ce que j'ai loupé ? Pourtant, je vois l'info plusieurs fois en mode source.
Dernière modification par Katryne (2022-02-05 08:25:46)
Hors ligne
Aaahhh ! J'avais jamais appuyé sur ce bouton !
MERCI, ça maaaaarche !
Hors ligne
:-)
Voici le commit qui, en outre, permet de choisir dans la configuration du plugin d'afficher ou non cette information.
https://github.com/Piwigo/piwigo-openst … 2402f9a61d
NB : je n'ai pas pensé à créer de branche propre avant de travailler ce bout de code, du coup il est inclus dans un ancien pull request... Vivement que je sois plus habile pour giter plus proprement.
Hors ligne
Comme je disais, quand je fais une descente sur Github, c'est comme une incursion en territoire ennemi ou un reportage dans la jungle bornéenne : je ne sais toujours pas télécharger quoi que ce soit.
Comme chaque fois, je vais attendre que mon fils passe par ici.
Merci pour le commit, et l'affichage optionnel, en plus !
Hors ligne
Salut
Bon, j'ai essayé de faire la modif avec github et ça ne fonctionne pas, snif... Pourtant, je pense (si, si , ça m'arrive!) avoir tout bien fait !!
Je vous mets, le script de picture.inc.php afin de voir ou est ma cagade !!
<?php /*********************************************** * File : picture.inc.php * Project : piwigo-openstreetmap * Descr : Display map on right panel * * Created : 28.05.2013 * * Copyright 2013-2016 <xbgmsharp@gmail.com> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * ************************************************/ include_once( dirname(__FILE__) .'/include/functions_map.php'); // Do we have to show the right panel if ($conf['osm_conf']['right_panel']['enabled']) { // Hook to add the div in the right menu, No idea about the number!! add_event_handler('loc_begin_picture', 'osm_loc_begin_picture', 56); // Hook to populate the div in the right menu, No idea about the number after!! add_event_handler('loc_begin_picture', 'osm_render_element_content', EVENT_HANDLER_PRIORITY_NEUTRAL+1 /*in order to have picture content*/, 2); } function osm_loc_begin_picture() { global $template; $template->set_prefilter('picture', 'osm_insert_map'); } function osm_insert_map($content) { global $conf; load_language('plugin.lang', OSM_PATH); /* Would be better if it could be like the Metdata but how? $search = '#<dl id="Metadata" class="imageInfoTable">#'; $replacement = ' <dl id="map-info" class="imageInfoTable"> <h3>{\'LOCATION\'|@translate}</h3> <div class="imageInfo"> <div id="map"></div> </div> </dl> <dl id="Metadata" class="imageInfoTable">'; */ $search = '#<div id="'. $conf['osm_conf']['right_panel']['add_before'] .'" class="imageInfo">#'; $replacement = ' {if $OSMJS} <div id="map-info" class="imageInfo"> <dt {$OSMNAMECSS}>{$OSMNAME}</dt> <dd> <div id="map"></div> <script type="text/javascript">{$OSMJS}</script> <div id="osm_attrib" style="visibility: hidden; display: none;"> <ul> <li>{"PLUGIN_BY"|@translate}</li> <li><a href="http://leafletjs.com/" target="_blank">Leaflet</a></li> <li>© {"OSM_CONTRIBUTORS"|@translate}</li> </ul> </div> {if $SHOWOSM} <a href="{$OSMLINK}" target="_blank">{"VIEW_OSM"|@translate}</a> {/if} <br><span>{$OSMNAME} : {$LAT} {$LON}</span> </dd> </div> {/if} <div id="'. $conf['osm_conf']['right_panel']['add_before'] .'" class="imageInfo">'; return preg_replace($search, $replacement, $content); } function osm_render_element_content() { global $template, $picture, $page, $conf; load_language('plugin.lang', OSM_PATH); if (empty($page['image_id'])) { return; } // Load coordinates from picture $query = 'SELECT latitude,longitude FROM '.IMAGES_TABLE.' WHERE id = \''.$page['image_id'].'\' ;'; //FIXME LIMIT 1 ? $result = pwg_query($query); $row = pwg_db_fetch_assoc($result); if (!$row or !$row['latitude'] or empty($row['latitude'])) { return; } $lat = $row['latitude']; $lon = $row['longitude']; // Load parameter, fallback to default if unset $height = isset($conf['osm_conf']['right_panel']['height']) ? $conf['osm_conf']['right_panel']['height'] : '200'; $zoom = isset($conf['osm_conf']['right_panel']['zoom']) ? $conf['osm_conf']['right_panel']['zoom'] : '12'; $osmname = isset($conf['osm_conf']['right_panel']['link']) ? $conf['osm_conf']['right_panel']['link'] : 'Location'; $osmnamecss = isset($conf['osm_conf']['right_panel']['linkcss']) ? $conf['osm_conf']['right_panel']['linkcss'] : ''; $showosm = isset($conf['osm_conf']['right_panel']['showosm']) ? $conf['osm_conf']['right_panel']['showosm'] : 'true'; if (strlen($osmnamecss) != 0) { $osmnamecss = "style='".$osmnamecss."'"; } $osmlink="https://openstreetmap.org/?mlat=".$lat."&mlon=".$lon."&zoom=12&layers=M"; $local_conf = array(); $local_conf['contextmenu'] = 'false'; $local_conf['control'] = false; $local_conf['img_popup'] = false; $local_conf['popup'] = 2; $local_conf['center_lat'] = $lat; $local_conf['center_lng'] = $lon; $local_conf['zoom'] = $zoom; $js_data = osm_get_items($page); $js = osm_get_js($conf, $local_conf, $js_data); // Select the template $template->set_filenames( array('osm_content' => dirname(__FILE__)."/template/osm-picture.tpl") ); // Assign the template variables $template->assign( array( 'HEIGHT' => $height, 'OSMJS' => $js, 'OSM_PATH' => embellish_url(get_gallery_home_url().OSM_PATH), 'OSMNAME' => $osmname, 'OSMNAMECSS' => $osmnamecss, 'SHOWOSM' => $showosm, 'OSMLINK' => $osmlink, 'SHOWLATLON' => $showlatlon, 'LAT' => $lat, 'LON' => $lon, ) ); // Return the rendered html $osm_content = $template->parse('osm_content', true); return $osm_content; }
Hors ligne
J'ai le même fichier que toi, cher voisin. Mais ça s'est affiché qu'après avoir purgé les templates compilés. En version 11, je n'ai pas le titre, juste les valeurs précédées de :
mais j'ai rien pris sur Github, je sais pas faire.
Regarde-là, au pied de la carte : https://dardennes.revestou.fr/picture?/ … 19_janvier en v11
et là en v.12 https://gabandjo.legtux.org/piwigo/pict … sand_dunes
Hors ligne
Re
Je n'ai pas de templates compilés, j'ai vidé tous les historiques, session et autres et j'ai toujours le même résultat !!
Peut-être cela vient-il du fait que j'utilise Bootstrap et PWG en V12.2
Un exemple sur mon album camping-car : https://beauxvoyages.fr/camping/picture … ategory/16
Hors ligne