Pour un projet technique de formation professionnelle, nous devons placer des points (récupérer sur un serveur via URL) sur une map et faire remonter des informations au survol de ces points.
Nous avons réussi mais un détail nous échappe concernant l’interprétation de certains caractères.
<?php
$url = "http://www.velo-vision.com/vannes/oybike/stands.nsf/getsite?site=vannes&format=json&key=veolia";
$json = file_get_contents($url);
$json_data = json_decode($json, true);
//echo "Mon organisation est : ". $json_data["org"];
//var_dump($json_data);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>Vélo à Vannes</title>
<meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
<script src='https://api.tiles.mapbox.com/mapbox.js/v1.6.3/mapbox.js'></script>
<link href='https://api.tiles.mapbox.com/mapbox.js/v1.6.3/mapbox.css' rel='stylesheet' />
<style>
body { margin:0; padding:0; }
#map { position:absolute; top:0; bottom:0; width:100%; }
</style>
</head>
<body>
<div id='map'></div>
<script>
var map = L.mapbox.map('map', 'vlsproject.iaoe0mh9')
.setView([47.648, -2.7583], 14);
map.scrollWheelZoom.disable();
var myLayer = L.mapbox.featureLayer().addTo(map);
var geojson = {
type: 'FeatureCollection',
features: [
<?php
foreach($json_data["stand"] as $id => $value):
//echo $value["name"]." sa disponibilite : ".$value["disp"]." sa position : logitude =".$value["lng"]." et latitude = ".$value["lat"]."<br>";
?>
{
type: 'Feature',
properties: {
title: '<?php echo "Station : ".$value["name"]; ?>',
'description': '<?php echo $value["ac"]." emplacements disponibles"."<br>".$value["ab"]." vélos disponibles"."<br>"; ?>',
'marker-color': '#501E72',
'marker-size': 'large',
'marker-symbol': 'bicycle',
url: '<?php echo $value["name"]; ?>'
},
geometry: {
type: 'Point',
coordinates: [<?php echo $value["lng"]; ?>, <?php echo $value["lat"]; ?>]
}
}, <?php endforeach; ?>]
};
myLayer.setGeoJSON(geojson);
myLayer.on('mouseover', function(e) {
e.layer.openPopup();
});
myLayer.on('mouseout', function(e) {
e.layer.closePopup();
});
</script>
</body>
</html>
<?php exit; ?>
Au survol, nous avons des + qui remplace les espaces et d'autres caractères pour les accents ... Nous souhaiterions corriger ces erreursJe suis vraiment novice et j'espère que qq'un pour m'accompagner dans le calme et la bonne humeur
Désolé par avance si ma pratique sur le forum n'est pas la bonne.
Sébastien