Function: RenderCanyonZoomTo

Parameters

Implementation

%STARTINCLUDE%
<form name="switchToCanyonForm" action="%SCRIPTURLPATH{view}%/Canyons/" method="get">
<select name="canyon" size="1" onchange="javascript:var koords=document.forms[0].canyon.value.split('-'); document.getElementById('map').contentWindow.zoomTo(koords[0],koords[1], 12);"/><option value="">%MAKETEXT{"Select canyon ..."}%</option>
<script type="text/javascript">

var req = new XMLHttpRequest();
req.open('GET', 'https://canyon.carto.net/cwiki/bin/custom/cmap.pl?f=json&outFields=WikiName,Flussname,Aliasname,Schluchtname&table=canyons', false); 
req.send(null);

var obj = eval ("(" + req.responseText + ")"); 

var canyonList=[];

for (var i=0;i<obj.features.length;i++)
{   
   var name=obj.features[i].properties.Flussname;
   if (obj.features[i].properties.Aliasname != '') {name=obj.features[i].properties.Aliasname;}
   if (obj.features[i].properties.Schluchtname != '') {name=obj.features[i].properties.Schluchtname;}
   var canyon= {
      canyonname: name,
      wikiname: obj.features[i].properties.WikiName,
      x: obj.features[i].geometry.coordinates[0],
      y: obj.features[i].geometry.coordinates[1]
   }
   canyonList.push(canyon);
}

function compare(a,b) {
  if (a.canyonname < b.canyonname)
     return -1;
  if (a.canyonname > b.canyonname)
    return 1;
  return 0;
}

canyonList.sort(compare);

for (var i=0;i<canyonList.length;i++)
{
   document.write('<option value='+canyonList[i].x+'-'+canyonList[i].y+'>'+canyonList[i].canyonname+'</option>');
}
</script>
</select>
</form>
%STOPINCLUDE%

Test

Rechtswert (x, Länge, Lon) Hochwert (y, Breite, Lat)


Zoomen zu

Anleitung

  • Mit den Navigationswerkzeugen (Zoom/Pan) jenen Ausschnitt auswählen auf dem sich der Einstieg befindet.
  • Mit der Maus an jene Stelle klicken wo sich der Einstieg befindet, eine Markierung sollte erscheinen.
  • auf "Position als Einstieg übernehmen" clicken, die Koordinaten sollten in das Formular übernommen worden sein.
  • Genauso mit der Position für den Ausstieg verfahren.
  • Hinweis! Hinter dem + auf der rechten Seite verbirgt sich eine Auswahliste verschiedener Kartendienste.

-- PeterSykora - 28 Aug 2008

Topic revision: r2 - 2013-12-06 - PeterSykora