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
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