12.07.2015 Views

Etude exploratoire XML / SVG IDL_CERTU1/ETU_001 / 1.1 - Lara

Etude exploratoire XML / SVG IDL_CERTU1/ETU_001 / 1.1 - Lara

Etude exploratoire XML / SVG IDL_CERTU1/ETU_001 / 1.1 - Lara

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Edité le 11 juin 2002 <strong>Etude</strong> <strong>exploratoire</strong> <strong>XML</strong> / <strong>SVG</strong> CERTU3.7.5 Zoom sur une parcelleUne des fonctionnalités de la maquette est de pouvoir sélectionner une parcelle par son numéro et dezoomer sur celle-ci. Il faut noter que nous atteignons ici une des limites du visualisateur Adobe <strong>SVG</strong> Viewer. Eneffet, les possibilités de zoom avec celui-ci sont limitées. Les parcelles étant souvent très petites par rapport aureste de la carte, il n’est pas possible de zoomer sur celles-ci en manipulant simplement les variables« currentScale » et « currentTranslate » comme précédemment.Nous sommes donc obligés de changer la « viewBox » de la carte, que nous calculons à partir descoordonnées de la parcelle sur laquelle nous souhaitons zoomer. Nous avons donc ajouté un bouton permettantde revenir à la vue normale. Nous avons également supprimé les possibilités de navigation et de repérage sur lacarte miniature qui seraient devenues trop complexes à gérer dans ce cas. Cette fonction de zoom sur uneparcelle se déroule alors en trois étapes :1. Recherche de la parcelle et affichage d’un message d’erreur si elle n’existe pas.2. Calcul du rectangle englobant.3. Changement de la « viewBox » pour afficher la parcelle et ses alentours.Celles-ci sont réalisées avec la fonction Javascript suivante :function zoomParcelle(text) {var doc = document.svgMap.get<strong>SVG</strong>Document();var parc = doc.getElementById(text);if (parc==null) {alert("Cette parcelle n'existe pas");} else {var minX=1000000;var minY=1000000;var maxX=0;var maxY=0;var path = parc.getAttribute("d");searchValue=new RegExp("M|L|Z|\n|\r","g");searchValue.global = true;path = path.replace(searchValue, "");searchValue=new RegExp(" +","g");searchValue.global = true;path = path.replace(searchValue, " ");var coords = path.split(" ");for (var i=0;i

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!