PluXml.org

Blog ou CMS à l'Xml

Vous n'êtes pas identifié(e).

#26 12/02/2014 01:15:03

Jerry Wham
Membre
Inscription : 13/07/2011
Messages : 2 409
Site Web

Re : [Plugin]OpenStreetMaps

Mise à jour du plugin et modification de la gestion des coordonnées. Utilisation du site Nomatim et d'une base sqlite pour accélérer le temps de traitement des données.


Mangez un castor, vous sauverez un arbre !

J'ai la tête dans le  ...code

Hors ligne

#27 18/07/2014 11:27:38

Jerry Wham
Membre
Inscription : 13/07/2011
Messages : 2 409
Site Web

Re : [Plugin]OpenStreetMaps

Si la carte ne s'affiche plus, remplacez la ligne 45 du fichier osmLeaflet.jquery.js par :

//L.tileLayer('http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/{styleId}/256/{z}/{x}/{y}.png', {attribution: defaults.cloudmadeAttribution, styleId: 997}).addTo(map);
                    L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {attribution: defaults.cloudmadeAttribution, styleId: 997}).addTo(map);

Mangez un castor, vous sauverez un arbre !

J'ai la tête dans le  ...code

Hors ligne

#28 21/11/2016 16:34:47

Pierrot
Membre
Inscription : 21/11/2016
Messages : 11
Site Web

Re : [Plugin]OpenStreetMaps

Bonjour,

Après avoir comparé ce plugin avec celui gMaps, j'ai décidé de continuer avec OSM. gMaps demande un compte pour avoir une clef pour accéder à l'API, c'est trop lourd.
Ici y'a peut-être moins de flexibilité (nécessité de passer par un fichier xml/gpx au lieu d'un shortcode dans un article) mais cela fonctionne.
Enfin... presque ! :-)

J'ai PluXml fraîchement 5.5, le plugin installé avec le gestionnaire de plugin donc en version 1.1. J'ai installé/activé le plugin jQuery. Je créé un fichier type adhérant (en appliquant la correction sur la fermeture de la balise document) et en patchant la petite modif ci-dessus pour utiliser le tuiles osm plutôt que cloudmade, ça fonctionne.

Malheureusement le fonctionnement de recherche par ville ne m'intéresse pas car j'aimerais une carte avec plusieurs lieux dans le monde. Et quand je teste le code suivant en mode "Coordonnées", rien ne s'affiche :

<?xml version="1.0" encoding="UTF-8"?>
<document>
	<coordonnees number="12">
		<nom><![CDATA[Orléans]]></nom>
		<latitude><![CDATA[47.916672]]></latitude>
		<longitude><![CDATA[1.9]]></longitude>
	</coordonnees>
</document>

Edit : quand je dis "rien ne s'affiche", j'ai la carte etc mais pas de points dessus.

Dernière modification par Pierrot (21/11/2016 16:36:56)

Hors ligne

#29 23/11/2016 16:32:24

Pierrot
Membre
Inscription : 21/11/2016
Messages : 11
Site Web

Re : [Plugin]OpenStreetMaps

Bon, j'ai essayé de creuser un peu. Je n'y connais pas grand chose en code mais ça ne m'empêche pas d'émettre des idées...
J'ai en fait l'impression que la fonction "coordonnees" a des problèmes alors que la fonction "adherent" est bien codée comme il faut.
Ce qui me met sur la piste dans le fichier `openStreetMaps.php` :
ligne 309 :

		$coordonnees = scandir(PLX_PLUGINS.'openStreetMaps/listing');
			if(!isset($coordonnees[2]) || $coordonnees[2] != $adherents.'.txt') {

Je ne trouve pas de dossier "listing". Et j'ai l'impression qu'à la ligne suivante on peut sortir de ce cas avec le "OU" ?...

...bon... je creuse mais j'ai vraiment du mal à comprendre la structure du code... je n'arrive pas à repérer où peut être située l'erreur...

Hors ligne

#30 25/11/2016 16:07:53

Jerry Wham
Membre
Inscription : 13/07/2011
Messages : 2 409
Site Web

Re : [Plugin]OpenStreetMaps

@Pierrot : ces lignes ont été ajoutées pour assurer la compatibilité entre versions du plugin dont la précédente utilisait un dossier listing dans le dossier du plugin. Si tu regardes la suite du code, si un fichier est trouvé, il est supprimé.

Les coordonnées des points à afficher se trouve dans le fichier sqlite du dossier gps. Oui je sais, c'est une entorse à Pluxml mais vu la taille du fichier, je n'ai pas trouvé mieux.

Je vais me pencher là dessus pour voir si je peux t'aider.

@tout le monde : désolé pour ma désertion du forum mais je n'ai plus trop de temps à moi. Mais je ne vous oublie pas et j'essaie de faire de mon mieux  kiss

Dernière modification par Jerry Wham (25/11/2016 16:08:11)


Mangez un castor, vous sauverez un arbre !

J'ai la tête dans le  ...code

Hors ligne

#31 25/11/2016 16:48:40

Jerry Wham
Membre
Inscription : 13/07/2011
Messages : 2 409
Site Web

Re : [Plugin]OpenStreetMaps

Remplace tout le fichier openStreetMaps.php par

[== PHP ==]
<?php
/**
 * Plugin openStreetMaps
 *
 * @author	Cyril MAGUIRE
 **/
require_once PLX_PLUGINS.'openStreetMaps/lib/medoo.php';
class openStreetMaps extends plxPlugin {

	public $list = array('valides' => ''); # Tableau des codes postaux sources
	public $plxGlob_sources; # Objet listant les fichiers sources

	/**
	 * Constructeur de la classe
	 *
	 * @param	default_lang	langue par défaut
	 * @return	stdio
	 * @author	Cyril MAGUIRE
	 **/
	public function __construct($default_lang) {

        # appel du constructeur de la classe plxPlugin (obligatoire)
        parent::__construct($default_lang);

		# droits pour accèder à la page config.php du plugin
		$this->setConfigProfil(PROFIL_ADMIN);

        # déclaration des hooks
        # pas de traitement javascript si l'on n'est pas sur la page localisation
		if(isset($_SERVER['QUERY_STRING']) AND $_SERVER['QUERY_STRING']!='' AND preg_match('/(localisation)/', $_SERVER['QUERY_STRING']) ) {
			$this->addHook('ThemeEndHead', 'ThemeEndHead');
			$this->addHook('ThemeEndBody', 'ThemeEndBody');
		}
        $this->addHook('plxMotorPreChauffageBegin', 'plxMotorPreChauffageBegin');
		$this->addHook('plxShowConstruct', 'plxShowConstruct');
        $this->addHook('plxShowStaticListEnd', 'plxShowStaticListEnd');
		$this->addHook('plxShowPageTitle', 'plxShowPageTitle');
		$this->addHook('SitemapStatics', 'SitemapStatics');

    }

	/**
	 * Méthode de traitement du hook plxShowConstruct
	 *
	 * @return	stdio
	 * @author	Cyril MAGUIRE
	 **/
    public function plxShowConstruct() {

		# infos sur la page statique
		$string  = "if(\$this->plxMotor->mode=='openStreetMaps') {";
		$string .= "	\$array = array();";
		$string .= "	\$array[\$this->plxMotor->cible] = array(
			'name'		=> '".$this->getParam('pageName')."',
			'menu'		=> '',
			'url'		=> 'localisation.html',
			'readable'	=> 1,
			'active'	=> 1,
			'group'		=> ''
		);";
		$string .= "	\$this->plxMotor->aStats = array_merge(\$this->plxMotor->aStats, \$array);";
		$string .= "}";
		echo "<?php ".$string." ?>";
    }

	/**
	 * Méthode de traitement du hook plxMotorPreChauffageBegin
	 *
	 * @return	stdio
	 * @author	Cyril MAGUIRE
	 **/
    public function plxMotorPreChauffageBegin() {

		$template = $this->getParam('template')==''?'static.php':$this->getParam('template');

		$string = "
		if(\$this->get && preg_match('/^localisation\/?/',\$this->get)) {
			if (isset(\$this->plxPlugins->aPlugins['adhesion'])){
				if (isset(\$_SESSION['account'])) {
					\$this->mode = 'openStreetMaps';
					\$this->cible = '../../plugins/openStreetMaps/static';
					\$this->template = '".$template."';
					return true;
				} else {
					header('location:'.\$this->racine);
					return true;
				}
			} else {
				\$this->mode = 'openStreetMaps';
				\$this->cible = '../../plugins/openStreetMaps/static';
				\$this->template = '".$template."';
				return true;
			}
		}
		";

		echo "<?php ".$string." ?>";
    }

	/**
	 * Méthode de traitement du hook plxShowStaticListEnd
	 *
	 * @return	stdio
	 * @author	Cyril MAGUIRE
	 **/
    public function plxShowStaticListEnd() {

		# ajout du menu pour accèder à la page de localisation
		if($this->getParam('mnuDisplay')) {
			echo "<?php \$class = \$this->plxMotor->mode=='openStreetMaps'?'active':'noactive'; ?>";
			# Si le plugin adhesion est présent et activé
			echo '<?php if (isset($this->plxMotor->plxPlugins->aPlugins["adhesion"])){
				# Utilisateur connecté
				if (isset($_SESSION["account"])) {
					foreach ($menus as $key => $value) {
						if (strpos($value, "annuaire") !== false) {
							$tmp = preg_replace(\'/<li class="([a-z]+)">(.+)(<\/li>)/i\', \'<li class="$1">$2
								<ul>
									\', $value);
							$menus[$key] = str_replace(\'<ul>\', \'<ul>
									<li class="static \'.$class.\'"><a href="\'.$this->plxMotor->urlRewrite("?localisation.html").\'">'.$this->getParam("mnuName").'</a></li>
								</ul>
							</li>\', $tmp);
						}
					}
				}
			} else {
				array_splice($menus, '.($this->getParam('mnuPos')-1).', 0, \'<li class="static \'.$class.\'"><a href="\'.$this->plxMotor->urlRewrite("?localisation.html").\'">'.$this->getParam('mnuName').'</a></li>\');
			}?>';	
		}
    }


	/**
	 * Méthode qui ajoute le fichier css dans l'entête du thème
	 *
	 * @return	stdio
	 * @author	Cyril MAGUIRE
	 **/
	public function ThemeEndHead(){
		echo "\t".'<link rel="stylesheet" type="text/css" href="'.PLX_PLUGINS.'openStreetMaps/leaflet.css" media="screen"/>'."\n";
	}

	/**
	 * Méthode qui renseigne le titre de la page dans la balise html <title>
	 *
	 * @return	stdio
	 * @author	Stephane F
	 **/
	public function plxShowPageTitle() {
		echo '<?php
			if($this->plxMotor->mode == "openStreetMaps") {
				$this->plxMotor->plxPlugins->aPlugins["openStreetMaps"]->lang("'.$this->getParam('pageName').'");
				return true;
			}
		?>';
	}

	/**
	 * Méthode qui retourne les informations $output en analysant
	 * le nom du fichier de l'adhérent $filename
	 *
	 * @param	filename	fichier de l'adhérent à traiter
	 * @return	array		information à récupérer
	 * @author	Stephane F
	 **/
	public function recInfoFromFilename($filename) {

		# On effectue notre capture d'informations
		if(preg_match('/(_?[0-9]{5}).([a-z0-9-]*).([a-z0-9-]*).([0-9]{10}).xml$/',$filename,$capture)) {
			return array(
				'Id'		=> $capture[1],
				'Nom'		=> $capture[2],
				'Prenom'	=> $capture[3],
				'Date'		=> $capture[4],
			);
		}
	}
	/**
	 * Méthode qui récupère les informations enregistrées dans le fichier xml source
	 * 
	 * @param $filename ressource le chemin vers le fichier source indiqué dans la configuration
	 * @return array
	 * 
	 * @author Cyril MAGUIRE
	 */
	public function getRecords($filename) {
		
		if(!is_file($filename)) return;
		
		# Mise en place du parseur XML
		$data = implode('',file($filename));
		$parser = xml_parser_create(PLX_CHARSET);
		xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
		xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,0);
		xml_parse_into_struct($parser,$data,$values,$iTags);
		xml_parser_free($parser);
		if(isset($iTags[$this->getParam('item_principal_coord')]) AND isset($iTags[$this->getParam('itemnom')])) {
			$nb = sizeof($iTags[$this->getParam('itemnom')]);
			$size=ceil(sizeof($iTags[$this->getParam('item_principal_coord')])/$nb);
			$tmp = $this->recInfoFromFilename($filename);

			for($i=0;$i<$nb;$i++) {
				$val = '';
				$coord = '';
				$nom = '';

				# Récupération de la ville
				$fullname = (isset($iTags[$this->getParam('itemville')]) AND isset($iTags[$this->getParam('itemville')][$i])) ? trim(mb_strtoupper(plxUtils::getValue($values[$iTags[$this->getParam('itemville')][$i]]['value'])),PLX_CHARSET) : trim(mb_strtoupper(plxUtils::getValue($values[$iTags[$this->getParam('itemnom')][$i]]['value'])),PLX_CHARSET);

				$cp = isset($iTags[$this->getParam('itempcp')]) ? plxUtils::getValue($values[$iTags[$this->getParam('itemcp')][$i]]['value']) : '';

				$ville = str_replace(array(' ','-','_','Cedex','CEDEX','cedex','0','1','2','3','4','5','6','7','8','9'),'',$fullname);
				
				if  ($this->getParam('itemval') != '') {
					# Récupération de la validité de l'inscription
					$val = plxUtils::getValue($values[$iTags[$this->getParam('itemval')][$i]]['value']);
				}
				if  ($this->getParam('itemcoord') != '') {
					# Récupération de l'autorisation de diffusion des coordonnées
					$coord = plxUtils::getValue($values[$iTags[$this->getParam('itemcoord')][$i]]['value']);
				}
				if  ($this->getParam('itemnom') != '') {
					# Récupération du nom à afficher dans la pop-up
					//$nom = strtoupper(plxUtils::removeAccents(plxUtils::getValue($values[$iTags[$this->getParam('itemnom')][$i]]['value'])));
					$nom = strtoupper($tmp['Nom']);
				}
				$this->list[$ville][] = array(
					'NUM' => $tmp['Id'],
					'VAL' => $val,
					'COORD'=> $coord,
					'NOM'	=> $nom,
					'CP' => $cp,
					'VILLE' => $fullname,
				);
				if ($val == 1) {
					$this->list['valides'] .= $nom;
				}
			}
		}
		return $this->list;
	}

	/**
	* Search a town by its name
	*
	* @param string $town Town name
	* @return array
	*
	* @author Cyril MAGUIRE
	*/
    public function search($town,$cp) {
		$dbTowns = new medoo(array(
			'db' => 'gps',
			'database_type' => 'sqlite',
			'database_file' => PLX_PLUGINS.'openStreetMaps/gps/gps.sqlite'
			)
		);
		$town = strtolower($town);
        $result = $dbTowns->select('towns', array('lat', 'lon'), array(
        	'AND'=> array(
           		'cp' => $cp,
           		'nom' => $town
           		)
            )
        );
        if (count($result) == 1) {
        	$result = $result[0];
        }
        if (empty($result)) {
        	$result = $this->Nominatim($town,$cp);
        	$last_id = $dbTowns->insert('towns', array(
        			'lat' => $result['lat'],
        			'lon' => $result['lon'],
        			'cp' => $cp,
        			'nom' => $town
        		)
        	);
        }
        return $result;
    }
	
    public function Nominatim($town,$cp) {
    	$c = file_get_contents('http://nominatim.openstreetmap.org/search/?format=json&country=france&city='.urlencode($town).'&postcode='.$cp);
		$c = json_decode($c);
		$result['lat'] = $c[0]->lat;
		$result['lon'] = $c[0]->lon;
		return $result;
    }
	/**
	 * Méthode qui ajoute les fichiers js dans le pied de page du thème
	 *
	 * @return	stdio
	 * @author	Cyril MAGUIRE
	 **/
	public function ThemeEndBody() {

		if ($this->getParam('type') == 1) :
		# Récupération des codes postaux à afficher sur la carte
		if (is_file(PLX_ROOT.$this->getParam('source'))) {
			$infos = $this->getRecords(PLX_ROOT.$this->getParam('source'));
		} else {
			$dir = trim($this->getParam('source'),'/').'/';
			if (is_dir(PLX_ROOT.$dir)) {
				$this->plxGlob_sources = plxGlob::getInstance(PLX_ROOT.$dir,false,true,'arts');
				foreach ($this->plxGlob_sources->aFiles as $key => $file) {
					$infos = $this->getRecords(PLX_ROOT.$dir.$file);
				}
			}
		}

		$adherents = md5($infos['valides']);
		unset($infos['valides']);
		$map = '';
		$GPS = array();
		$coordonnees = scandir(PLX_PLUGINS.'openStreetMaps/listing');
			if(!isset($coordonnees[2]) || $coordonnees[2] != $adherents.'.txt') {
				if (isset($coordonnees[2]) ) {
					unlink(PLX_PLUGINS.'openStreetMaps/listing/'.$coordonnees[2]);
				}

				# Récupération des coordonnées
				foreach ($infos as $ville => $marker) {
					if (!empty($ville)) {
						if (!isset($GPS[$ville])) {
							$GPS[$ville] = $this->search(trim(str_replace(array('CEDEX','0','1','2','3','4','5','6','7','8','9'),'',$marker[0]['VILLE'])),$marker[0]['CP']);
						}
						foreach ($marker as $k => $v) {
							$GPS[$ville]['lon'] = $GPS[$ville]['lon']+($k*0.0001);
							if (!empty($GPS[$ville]) && !empty($GPS[$ville]['lon']) && !empty($GPS[$ville]['lat']) ) {
								if ($this->getParam('itemnom') != '') {
									// Si l'affichage nécessite une autorisation, on vérifie que les paramètres ne sont pas vides
									if ($v['VAL'] == $this->getParam('dataval') && $this->getParam('dataval') != '' && $v['COORD'] == $this->getParam('datacoord') && $this->getParam('datacoord') != '') {
										$map .= '{latitude : '.$GPS[$ville]['lat'].', longitude : '.$GPS[$ville]['lon'].', click : \''.$v['VILLE'].' : '.$v['NOM'].'\' },'."\n";
										//S'il faut un affichage et qu'il ne nécessite pas d'autorisation
									} elseif($this->getParam('dataval') == '' && $this->getParam('datacoord') == '') {
										$map .= '{latitude : '.$GPS[$ville]['lat'].', longitude : '.$GPS[$ville]['lon'].', click : \''.$v['VILLE'].' : '.$v['NOM'].'\'
										},'."\n";
										//Sinon
									} else {
										$map .= '{latitude : '.$GPS[$ville]['lat'].', longitude : '.$GPS[$ville]['lon'].', click : \''.$v['VILLE'].' : Non renseigné\' },'."\n";
									}
								} else {
									$map .= '{/*'.$v['VILLE'].'*/ latitude : '.$GPS[$ville]['lat'].', longitude : '.$GPS[$ville]['lon'].'},'."\n";
								}	
							}  else {
								$map .= '//'.$v['VILLE'].' '.$v['NUM']."\n";
							}
						}
					}
				}
				$map = substr($map, 0,-2);
				file_put_contents(PLX_PLUGINS.'openStreetMaps/listing/'.$adherents.'.txt', $map);
			} else {
				$map = file_get_contents(PLX_PLUGINS.'openStreetMaps/listing/'.$coordonnees[2]);
			}
		else :
		# Récupération des coordonnées à afficher sur la carte
		$COORD = $this->getRecords(PLX_ROOT.$this->getParam('source'));
		unset($COORD['valides']);
		$map = '';
		# Récupération des coordonnées
		foreach ($COORD as $ville => $marker) {
			if (!empty($ville)) {
				if (!isset($GPS[$ville])) {
					$GPS[$ville] = $this->search(trim(str_replace(array('CEDEX','0','1','2','3','4','5','6','7','8','9'),'',$marker[0]['VILLE'])),$marker[0]['CP']);
				}
				foreach ($marker as $k => $v) {
					$GPS[$ville]['lon'] = $GPS[$ville]['lon']+($k*0.0001);
					if (!empty($GPS[$ville]) && !empty($GPS[$ville]['lon']) && !empty($GPS[$ville]['lat']) ) {
						if ($this->getParam('itemnom') != '') {
							// Si l'affichage nécessite une autorisation, on vérifie que les paramètres ne sont pas vides
							if ($v['VAL'] == $this->getParam('dataval') && $this->getParam('dataval') != '' && $v['COORD'] == $this->getParam('datacoord') && $this->getParam('datacoord') != '') {
								$map .= '{latitude : '.$GPS[$ville]['lat'].', longitude : '.$GPS[$ville]['lon'].', click : \''.$v['VILLE'].' : '.$v['NOM'].'\' },'."\n";
								//S'il faut un affichage et qu'il ne nécessite pas d'autorisation
							} elseif($this->getParam('dataval') == '' && $this->getParam('datacoord') == '') {
								$map .= '{latitude : '.$GPS[$ville]['lat'].', longitude : '.$GPS[$ville]['lon'].', click : \''.$v['VILLE'].' : '.$v['NOM'].'\'
								},'."\n";
								//Sinon
							} else {
								$map .= '{latitude : '.$GPS[$ville]['lat'].', longitude : '.$GPS[$ville]['lon'].', click : \''.$v['VILLE'].' : Non renseigné\' },'."\n";
							}
						} else {
							$map .= '{/*'.$v['VILLE'].'*/ latitude : '.$GPS[$ville]['lat'].', longitude : '.$GPS[$ville]['lon'].'},'."\n";
						}	
					}  else {
						$map .= '//'.$v['VILLE'].' '.$v['NUM']."\n";
					}
				}
			}
		}
				
		$map = substr($map, 0,-2);

		endif;

		echo "\t".'<script type="text/javascript">
				if(typeof(jQuery) === "undefined") {document.write(\'<script  type="text/javascript" src="<?php echo PLX_PLUGINS; ?>openStreetMaps/jQuery.1.8.1.min.js"><\/script>\');}
			</script>'."\n";
		echo "\t".'<script type="text/javascript" src="'.PLX_PLUGINS.'openStreetMaps/leaflet-0.4.js"></script>'."\n";
		echo "\t".'<script type="text/javascript" src="'.PLX_PLUGINS.'openStreetMaps/osmLeaflet.jquery.js"></script>'."\n";
		echo "\t".'<script>
					    $(document).ready(function () {
					        var $mini_map = $("#mini_map");

					       // Map de démo centrale
					        $mini_map.osmLeaflet({
					            zoom      : '.$this->getParam('zoom').',
					            latitude  : '.$this->getParam('latitude').',
					            longitude : '.$this->getParam('longitude').'
					        });'.($this->getParam('showpopup') == 'on' ?
							'$mini_map.osmLeaflet(\'addPopup\', {
					            latitude  : '.$this->getParam('popupLatitude').',
					            longitude : '.$this->getParam('popupLongitude').',
					            content   : \''.str_replace("'","&#039;",$this->getParam('popupTexte')).'\'
					        });' : '').'
					        $mini_map.osmLeaflet(\'addMarker\', [
					            '.$map.'
					        ]);
					    });
					</script>
';
	}

	/**
	 * Méthode qui référence la page de localisation dans le sitemap
	 *
	 * @return	stdio
	 * @author	Cyril MAGUIRE
	 **/
	public function SitemapStatics() {
		echo '<?php
		echo "\n";
		echo "\t<url>\n";
		echo "\t\t<loc>".$plxMotor->urlRewrite("?localisation.html")."</loc>\n";
		echo "\t\t<changefreq>monthly</changefreq>\n";
		echo "\t\t<priority>0.8</priority>\n";
		echo "\t</url>\n";
		?>';
	}
}
?>

Mangez un castor, vous sauverez un arbre !

J'ai la tête dans le  ...code

Hors ligne

#32 03/12/2016 22:45:36

michelw
Membre
Inscription : 08/04/2015
Messages : 111

Re : [Plugin]OpenStreetMaps

Bonsoir,
Votre plugin m’intéresse est-il toujours fonctionnel avec pluxml 5.5 faut-il simplement effacer le fichier openStreetMaps.php et le remplacer par le code du message précédent et alors tout fonctionne? Merci pour votre aide.

Hors ligne

#33 05/12/2016 15:41:36

Pierrot
Membre
Inscription : 21/11/2016
Messages : 11
Site Web

Re : [Plugin]OpenStreetMaps

Jerry Wham a écrit :

Remplace tout le fichier openStreetMaps.php par

[== PHP ==]
<?php
/**
 * Plugin openStreetMaps
 *
 * @author	Cyril MAGUIRE
 **/
…

J'ai testé et ça ne fonctionne toujours pas :-( .
J'avoue que je ne sais pas quelle piste entamer pour essayer de comprendre d'où peut venir le problème. Est-ce que tu as des exemples de sites où cela fonctionne ? Cela me permettrait de faire un diff (comment d'ailleurs ?). J'ai fait un diff entre le code original et celui que tu m'as proposé de remplacer et je n'arrives pas à piger en quoi cela pourrait améliorer la situation (bon j'avoue que j'ai vraiment du mal à comprendre le code (pas qu'il soit mal écrit, juste que je suis sacrément néophyte)).
Est-ce que ça peut être lié à mon hébergeur ? Je ne penses pas puisque pour le mode avec le code postal ça fonctionne. À moins qu'il n'y ait une genre de dépendance externe non-autorisée, par exemple pour déduire le nom de la ville à partir des coordonnées (ce qui n'est pas le cas dans l'autre mode puisque je suppose que c'est déjà intégré dans la base sqlite...) ?

Hors ligne

#34 06/12/2016 20:26:44

Jerry Wham
Membre
Inscription : 13/07/2011
Messages : 2 409
Site Web

Re : [Plugin]OpenStreetMaps

Si tu peux me donner quelques jours, je posterai le code fonctionnel complet. J'essaierai ce soir mais je ne suis pas sûr d'avoir le temps. Et après, ça repousse à la fin de la semaine.
N'hésite pas à me relancer si tu ne vois rien venir.

Toutes mes excuses pour ne pas pouvoir suivre mes plugins comme je le voudrais mais depuis quelques temps, c'est chaud, je ne sors pas la tête de l'eau.

Je n'oublie pas la communauté de PluXml. Je n'ai seulement plus assez de temps...  cry


Mangez un castor, vous sauverez un arbre !

J'ai la tête dans le  ...code

Hors ligne

#35 08/12/2016 02:09:55

Jerry Wham
Membre
Inscription : 13/07/2011
Messages : 2 409
Site Web

Re : [Plugin]OpenStreetMaps

Il faut enlever "[== PHP ==]" en début de fichier. C'est ajouté par le forum de pluxml et ça n'a rien à faire dans le code.
Ensuite, dans la configuration du plugin, il faut mettre "nom" dans le premier formulaire optionnel. (Je modifierai ce comportement plus tard).

Ça devrait fonctionner. Dans ton fichier source, tu peux ainsi mettre plusieurs localisations qui seront affichées grâce à un petit drapeau.


Mangez un castor, vous sauverez un arbre !

J'ai la tête dans le  ...code

Hors ligne

#36 12/12/2016 18:34:09

Pierrot
Membre
Inscription : 21/11/2016
Messages : 11
Site Web

Re : [Plugin]OpenStreetMaps

Jerry Wham a écrit :

Il faut enlever "[== PHP ==]" en début de fichier. C'est ajouté par le forum de pluxml et ça n'a rien à faire dans le code.

Oui je sais, j'ai fait la remarque ailleurs sur le forum mais j'avais fait attention à ça glasses . (Heureusement car sinon ça ne fonctionnerait plus en mode "Code postal" (ce qui n'est pas le cas, ce mode est toujours fonctionnel.))

Jerry Wham a écrit :

Ensuite, dans la configuration du plugin, il faut mettre "nom" dans le premier formulaire optionnel. (Je modifierai ce comportement plus tard).

C'est déjà le cas. Je crois que c'était fait par défaut. C'est le champ dont l'intitulé est "Items des données à afficher dans la pop-up (exple:nom) :". Est-ce qu'il faut le mettre aussi dans le champ dont le libellé est "Valeur autorisant l'affichage des données dans la pop-up (exple:rec) :" ?

Jerry Wham a écrit :

Ça devrait fonctionner. Dans ton fichier source, tu peux ainsi mettre plusieurs localisations qui seront affichées grâce à un petit drapeau.

Mon fichier source est toujours le même qu'au-dessus. Est-ce qu'il ne faut qu'un seul fichier dans le répertoire source ? Car j'ai toujours le fichier de test pour le mode "Code postal".

Jerry Wham a écrit :

Toutes mes excuses pour ne pas pouvoir suivre mes plugins comme je le voudrais mais depuis quelques temps, c'est chaud, je ne sors pas la tête de l'eau. Je n'oublie pas la communauté de PluXml. Je n'ai seulement plus assez de temps...  cry

Pas de soucis, on a tous des obligations. C'est déjà génial d'avoir fourni ces beaux plugins à la communauté  smile

Hors ligne

#37 08/04/2017 08:28:31

Pierrot
Membre
Inscription : 21/11/2016
Messages : 11
Site Web

Re : [Plugin]OpenStreetMaps

Je me permets de faire un petit "up" car c'est une fonction qui m'intéresse toujours et bien qu'ayant essayé d'y regarder encore un peu, je n'ai pas compris ce qui bloque ?
Merci :-)

Hors ligne

#38 10/04/2017 10:58:44

Jerry Wham
Membre
Inscription : 13/07/2011
Messages : 2 409
Site Web

Re : [Plugin]OpenStreetMaps

Tu peux m'envoyer par mp des identifiants temporaires et un lien vers ton site pour que je regarde ce qui se passe ? Chez moi ça fonctionne...


Mangez un castor, vous sauverez un arbre !

J'ai la tête dans le  ...code

Hors ligne

#39 12/04/2017 16:51:37

Sudwebdesign
Membre
Inscription : 15/02/2011
Messages : 102

Re : [Plugin]OpenStreetMaps

@jerry: je viens de te proposer une mise à jour sur ton dépôt wink

Pour ceux que ça intéresse il est dispo ici : Bump to 1.2 && leaflet 1.0.3 && ready for PluXml 5.4+

@Plux

Hors ligne

Pied de page des forums

A propos Nous soutenir Contact Twitter Google+
Copyright © 2006-2017 PluXml.org, tous droits réservés