Changes between Version 27 and Version 28 of Nl:Help/Preferences/RemoteControl


Ignore:
Timestamp:
2016-12-07T18:31:20+01:00 (9 years ago)
Author:
DiGro
Comment:

adjusted to revision 38

Legend:

Unmodified
Added
Removed
Modified
  • Nl:Help/Preferences/RemoteControl

    v27 v28  
    1 [[TranslatedPages(revision=32, outdated=This page is missing command features. The list of commands is probably better situated on a separate page.)]]
     1[[TranslatedPages(revision=38)]]
    22   
    33= Voorkeuren > Afstandsbediening =
    44
    5 [[Image(source:trunk/images/preferences/remotecontrol.png)]] **Instellingen voor de mogelijkheid van afstandsbediening.**
     5[[Image(source:trunk/images/preferences/remotecontrol.png,middle,nolink)]] **Instellingen voor de mogelijkheid van afstandsbediening.**
    66
    77Afstandsbediening maakt het mogelijk dat JOSM wordt beheerd vanuit andere toepassingen, bijv. vanuit een webbrowser, door een luisterende TCP-poort (8111) te openen op localhost waar het opdrachten accepteert.[[br]]
     
    1111Als u toegang zoekt tot een website via HTTPS en de Afstandsbediening gebruikt zal het ook HTTPS gebruiken om uw JOSM te beheren. Als dat niet werkt, onthoud dan dat uw browser, add-ons/plug-ins voor beveiliging en firewalls deze toegang zouden kunnen blokkeren (u zou de mogelijkheid kunnen hebben dit toe te staan/whitelisten binnen die programma's) – controleer uw logs. In aanvulling daarop zou u uw browser mogelijk moeten vertellen het zelf-ondertekende HTTPS-certificaat van JOSM te accepteren. Meer details over enkele van deze problemen: [https://help.openstreetmap.org/questions/2208/how-do-i-enable-the-remote-control-in-josm How do I enable the "remote control" in JOSM?] (op de Help-site van OSM).
    1212
     13[[Image(Remote control enabled in 11223.png,nolink)]]
    1314
    14 De volgende beheersopties zijn beschikbaar:
    15 
    16 [[Image(RemoteControl6767.png)]]
    17 
    18 * **Afstandsbediening inschakelen** maakt het mogelijk om de mogelijkheid voor de afstandsbediening in- of uit te schakelen.
    19  * **Gegevens laden vanuit de API**
    20  * **Gegevens importeren vanaf een URL**
    21  * **Lagen met luchtfoto's laden**
    22  * **De selectie wijzigen**
    23  * **De viewport wijzigen**
    24  * **Nieuwe objecten maken**
    25  * **Versie van protocol lezen**
    26 
    27 * **Bevestig alle acties van de Afstandsbediening handmatig**
    28 
    29 == Lijst met opdrachten ==
    30 
    31 Een volledige lijst met opdrachten en verplichte/optionele parameters wordt weergegeven op http://127.0.0.1:8111/ (als JOSM wordt uitgevoerd).[[BR]]
    32 Sinds versie 6941 van JOSM luistert het ook naar HTTPS op poort 8112.[[BR]]
    33 
    34 === {{{load_and_zoom}}} ===
    35 Instrueert JOSM om een begrensd gebied van de API te downloaden, in te zoomen op het gedownloade gebied en optioneel één of meer objecten te selecteren.
    36 {{{
    37 GET /load_and_zoom?left=...&right=...&top=...&bottom=...&select=object[,object...]
    38 }}}
    39 where
    40 ||= **Parameter** =||= **Vereist/Optioneel** =||= **Betekenis** =||
    41 || `bottom` || V || Minimale latitude ||
    42 || `top` || V || Maximale latitude ||
    43 || `left` || V || Minimale longitude ||
    44 || `right` || V || Maximale longitude ||
    45 || `new_layer` || O || Indien '''true''', downloaden naar een nieuwe laag ||
    46 || `addtags` || O || Optionele parameter om tags toe te voegen. De sleutel en waarde worden gescheiden door "=" en meerdere tags kunnen worden gescheiden door een Pipe "|".  Zie [#addtags details] ||
    47 || `select` || O || Komma-gescheiden lijst met objecten die zouden moeten worden geselecteerd. Specificaties voor objecten zijn combinaties van de woorden "way", "node", of "relation", en het numerieke object-ID. Voorbeeld:{{select=way38473,node12399,node54646}}} ||
    48 || `zoom_mode` || O || '''downloaden''' | '''selection''', gaat standaard naar selectie ||
    49 || `changeset_comment` || O || Opmerkingen over de wijzigingenset ||
    50 || `changeset_source` || O || Bron van de wijzigingenset ||
    51 || `search` || O || Zoeken naar objecten op de huidige gegevenslaag. Zie [wiki:/Nl:Help/Action/Search Zoeken] ||
    52 || `referrers` || O || Indien true, downloadt het ook verwijzingen van het object. D.i. ouder-relaties, en voor knopen, aanvullend, ouder-wegen. (since r6782) ||
    53  
    54  
    55 ==== Voorbeeld ====
    56  
    57 Start JOSM (vergeet niet om de mogelijkheid !RemoteControl in te schakelen), klik dan op:
    58  
    59 [http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999]
    60  
    61 JOSM zou nu een gebied in het Duitse Zwarte woud moeten laden en de gespecificeerde knoop hebben geselecteerd. 
    62  
    63 === {{{zoom}}} ===
    64 Instrueert JOSM om te zoomen naar het gespecificeerde gebied en optioneel één of meer objecten te selecteren.
    65 {{{
    66 GET /zoom?left=...&right=...&top=...&bottom=...&select=object[,object...]
    67 }}}
    68 Accepteert dezelfde parameters als de opdracht [#load_and_zoom load_and_zoom] en gebruikt dezelfde code voor zoomen en selectie. Het enige verschil is dat er geen gegevens worden geladen vanuit de API.
    69 
    70 **Hint**: Deze opdracht kan ook worden gebruikt om alleen objecten te selecteren. Voer eenvoudigweg een klein begrensd gebied in bij de items left..bottom en voeg de objectlijst toe aan de optie select=.
    71 
    72 === {{{load_data}}} ===
    73 (sinds versie 1.6)
    74 Instrueer JOSM om gegevens van OSM te laden, direct gecodeerd in de URL, in plaats van vanuit een extern bestand. Dit is alleen geschikt voor kleinere gegevenssets (sommige browsers beperken de maximale lengte van de URL), maar het is sneller (omdat downloaden niet is vereist), en in in veel gevallen, waarvoor dynamisch gegenereerde gegevens nodig zijn, is het eenvoudiger te genereren.
    75  
    76 {{{
    77 GET /load_data?new_layer=(true/false)&layer_name=...&mime_type=...&data=...
    78 }}}
    79 where
    80 ||= **Parameter** =||= **Vereist/Optioneel** =||= **Betekenis** =||
    81 || `url` || V ||  ||
    82 || `new_layer` || O || Indien '''true''', downloadt naar een nieuwe laag ||
    83  
    84 where
    85 ||= **Parameter** =||= **Vereist/Optioneel** =||= **Betekenis** =||
    86 || `data` || V || De XML-gegevens die moeten worden geladen, dit zou in een URL gecodeerd moeten zijn op een manier die ook de speciale tekens &, = en ? codeert om resp. %26, %3D en %3F te vormen. De JS-methode [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent encodeUriComponent()] verschaft deze functionaliteit van huis uit. ||
    87 || `new_layer` || O || Kiezen om de gegevens in een nieuwe laag te laden ||
    88 || `mime_type` || O || Type mime van de gegevens, standaard is dit "application/x-osm+xml", wat momenteel het enige ondersteunde type mime is, maar in de toekomst zouden andere typen mime ondersteund kunnen worden ||
    89 || `layer_name` || O || Alleen geldig wanneer de gegevens in een nieuwe laag worden geladen; Geeft JOSM een hint over hoe de laag genoemd moet worden ||
    90 
    91 === {{{open_file }}} ===
    92 Open a local file in JOSM.
    93 
    94 {{{
    95 GET /open_file?filename=...
    96 }}}
    97 where
    98 ||= **Parameter** =||= **Vereist/Optioneel** =||= **Betekenis** =||
    99 || `filename` || V || Het lokale bestand dat in JOSM geopend moet worden (Bijv: /tmp/test.osm) ||
    100 
    101 === {{{import}}} ===
    102 Instrueert JOSM om het gespecificeerde OSM-bestand te downloaden en het toe te voegen aan de huidige gegevensset.
    103 {{{
    104 GET /import?url=...
    105 }}}
    106  
    107 === {{{imagery}}} ===
    108 Instrueert JOSM om een laag voor foto's (WMS/TMS) toe te voegen.
    109 {{{
    110 GET /imagery?title=...&type=...&url=...
    111 }}}
    112 where
    113 ||= **Parameter** =||= **Vereist/Optioneel** =||= **Betekenis** =||
    114 || `url` || V || De verzoek-URL, inclusief patronen. Moet de laatste parameter zijn, alles na "&url=" wordt geïnterpreteerd als URL, zelfs als het "&"-tekens bevat.  ||
    115 || `title` || O || De weer te geven naam van de laag ||
    116 || `type` || O || Type laag. Mogelijke waarden zijn `wms`, `tms` en `bing`[[BR]] (sinds !RemoteControl Versie 1.3) ||
    117 || `cookies` || O ||  ||
    118 || `min_zoom` || O || Het minimale zoomniveau [[BR]] (sinds !RemoteControl Versie 1.4) ||
    119 || `max_zoom` || O || Het maximale zoomniveau. Voor hogere schalen worden de afbeeldingen van het maximale niveau vergroot [[BR]] (sinds !RemoteControl Versie 1.4) ||
    120 
    121 
    122 verplichte parameters: url
    123 optionele parameters: title, type, cookies, min_zoom, max_zoom
    124 
    125 ==== Voorbeelden ====
    126 * TMS layer "osm" {{{http://tile.openstreetmap.org/{zoom}/{x}/{y}.png}}}
    127  
    128 [http://localhost:8111/imagery?title=osm&type=tms&url=http://tile.openstreetmap.org/%7Bzoom%7D/%7Bx%7D/%7By%7D.png]
    129  
    130 * WMS layer "landsat" {{{http://irs.gis-lab.info/?layers=landsat&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox} }}}
    131 [http://localhost:8111/imagery?title=landsat&type=wms&url=http://irs.gis-lab.info/?layers=landsat&SRS=%7Bproj%7D&WIDTH=%7Bwidth%7D&HEIGHT=%7Bheight%7D&BBOX=%7Bbbox%7D]
    132  
    133 === {{{load_object}}} ===
    134          
    135 Instrueert JOSM om objecten met een opgegeven ID te downloaden.
    136 {{{
    137 GET /load_object?new_layer=true|false&objects=...
    138 }}}
    139 where
    140 ||= **Parameter** =||= **Vereist/Optioneel** =||= **Betekenis** =||
    141 || `objects` || V || Komma-gescheiden lijst met ID's van objecten, bijv. "{{{n1234,n1235,w84,r958493}}}" ||
    142 || `new_layer` || O || Indien '''true''', downloaden naar een nieuwe laag ||
    143 || `addtags` || O || Optionele parameter om tags toe te voegen. De sleutel en waarde worden gescheiden door een "=" en meerdere tags kunnen worden gescheiden door een pipe "|". Zie [#addtags details]. ||
    144 || `relation_members` || O || Indien '''true''', downloadt ook objectleden van de relaties. ||
    145 || `referrers` || O || Indien '''true''', downloadt ook referrers van het object. Bijv. ouder-relaties en voor knopen, aanvullend, ouderwegen. (since r6782) || 
    146  
    147 ==== Voorbeeld====
    148  
    149 [http://localhost:8111/load_object?new_layer=true&objects=w106159509]
    150  
    151 === {{{add_node}}} ===
    152  
    153 Instrueert JOSM om een nieuwe knoop te maken op de opgegeven coördinaten.
    154  
    155 **Opmerking**: Deze actie vereist het recht ''Create new objects'' dat standaard is uitgeschakeld.
    156  
    157 {{{
    158 GET /add_node?lon=...&lat=...
    159 }}}
    160 where
    161 ||= **Parameter** =||= **Vereist/Optioneel** =||= **Betekenis** =||
    162 || `lon` || V || De longitude van de knoop ||
    163 || `lat` || V || De latitude van de knoop ||
    164 || `addtags` sinds v1.5|| O || Optionele parameter om tags toe te voegen. De sleutel en waarde worden gescheiden door een "=" en meerdere tags kunnen worden gescheiden door een pipe "|". Zie [#addtags details]. ||
    165 
    166 ==== Voorbeeld ====
    167 http://localhost:8111/add_node?lon=13.3&lat=53.2
    168  === {{{add_way}}} ===
    169  
    170 Instrueert JOSM om een nieuwe weg te maken met nieuwe wegknopen op de opgegeven coördinaten.
    171 
    172 **Opmerking**: Deze actie vereist het recht ''Create new objects'' dat standaard is uitgeschakeld.
    173 
    174 {{{
    175 GET /add_way?way=lat1,lon1;lat2,lon2;...
    176 }}}
    177 where
    178 ||= **Parameter** =||= **Vereist/Optioneel** =||= **Betekenis** =||
    179 || `way` || V || Paren van coördinaten van latitude en longitude, gescheiden door een puntkomma. ||
    180 || `addtags` sinds v1.5|| O || Optionele parameter om tags toe te voegen. De sleutel en waarde worden gescheiden door een "=" en meerdere tags kunnen worden gescheiden door een pipe "|". Zie [#addtags details]. ||
    181 
    182 ==== Voorbeeld ====
    183 
    184 http://localhost:8111/add_way?way=53.2,13.3;53.3,13.3;53.3,13.2
    185 
    186 === {{{version}}} ===
    187 Deze opdracht geeft de huidige versie van het protocol van de geïnstalleerde interface !RemoteControl terug. Ontwikkelaars kunnen het gebruiken om een uitgevoerde versie van JOSM te bevragen en ook om te bepalen of de gevraagde functionaliteit beschikbaar is in de cliënt.
    188 
    189 {{{
    190 GET /version[?jsonp=callback]
    191 }}}
    192 where
    193 ||= **Parameter** =||= **Vereist/Optioneel** =||= **Betekenis** =||
    194 || `jsonp` || O|| Jsonp callback voor oudere browsers die ​Cross-Origin Resource Sharing (CORS) niet geïmplementeerd hebben ||
    195 
    196 De opdracht geeft een json-object terug dat een identificatie voor de toepassing bevat die altijd "JOSM !RemoteControl" is, een groot getal en een klein getal. Compatibele wijzigingen in het protocol resulteren in een verhoging van het kleine getal. Niet compatibele wijzigingen verhogen het grote getal. Dus een cliënt-toepassing die weet van protocol versie 1.0 kan nog steeds praten met JOSM die 1.1 heeft. Maar er is geen garantie dat het werkt met 2.0. Dus zou de cliënt het grote nummer moeten verifiëren.
    197 
    198 Een normale uitvoer zou er uitzien zoals dit:
    199 
    200 {{{
    201 #!js
    202 
    203 {
    204    "protocolversion": {
    205    "major": 1, 
    206    "minor": 0
    207  }, 
    208    "application": "JOSM RemoteControl"
    209 }
    210 }}}
    211 Voor oudere browsers die niet implementeren [http://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing Cross-Origin Resource Sharing (CORS)] geeft de opdracht de mogelijkheid voor jsonp callback. Laad de URL in een scripttag en geef de naam van een callback op die de gegevens van JSON zal ontvangen.
    212  
    213 Het volgende is voorbeeldcode die controleert op mogelijkheden voor CORS en [http://en.wikipedia.org/wiki/JSONP JSONP] gebruikt als een oplossing voor fallback. 
    214 {{{
    215 #!js
    216 // in aanvulling op de CC-BY-SA van de wiki staat het u vrij om de volgende bron voor elk doel te gebruiken, zonder restricties (PD)
    217 // credits en aanvullingen worden op prijs gesteld: https://wiki.openstreetmap.org/wiki/User:Stephankn
    218  
    219 function checkJOSM(version){
    220 alert(version.application + " uses protocol version " + version.protocolversion.major + "." + version.protocolversion.minor);
    221    // do something useful, maybe showing edit button
    222 }
    223  
    224 var url = "http://127.0.0.1:8111/version";
    225 var useFallback = false;
    226 // currently FF3.5, Safari 4 and IE8 implement CORS
    227 if (XMLHttpRequest) {
    228   var request = new XMLHttpRequest();
    229    if ("withCredentials" in request) {
    230       request.open('GET', url, true);
    231       request.onreadystatechange = function(){
    232          if (request.readyState != 4) {
    233             return;
    234          }
    235          if (request.status == 200) {
    236             checkJOSM(eval('(' + request.responseText + ')'));
    237          }
    238       };
    239      request.send();
    240   }
    241   else if (XDomainRequest) {
    242      var xdr = new XDomainRequest();
    243     xdr.open("get", url);
    244       xdr.onload = function(){
    245          checkJOSM(eval('(' + xdr.responseText + ')'));
    246        };
    247       xdr.send();
    248    } else {
    249       useFallback = true;
    250    }
    251 }
    252 else {
    253    // no XMLHttpRequest available
    254    useFallback = true;
    255 }
    256          
    257 if (useFallback) {
    258    // Use legacy jsonp call
    259    var s = document.createElement('script');
    260    s.src = url + '?jsonp=checkJOSM';
    261    s.type = 'text/javascript';
    262      
    263    if (document.getElementsByTagName('head').length > 0) {
    264       document.getElementsByTagName('head')[0].appendChild(s);
    265    }
    266      
    267 }
    268 }}}
    269 
    270 
    271 === Toevoegen, wijzigen of verwijderen van tags === #addtags
    272 Probeer dit voorbeeld eens:   
    273 [http://localhost:8111/load_and_zoom?addtags=wikipedia%3Ade=Weiße_Gasse%7Cmaxspeed=5&select=way23071688,way23076176,way23076177,&left=13.739727546842&right=13.740890970188&top=51.049987191025&bottom=51.048466954325]. 
    274 (Werkt ook met de opdracht tot zoomen)
    275  
    276 De gebruiker moet de tags en de selectie nakijken vóórdat de tags worden toegepast op het geselecteerde objecten.
    277 Als de tag bestaat op enkele objecten, zal die worden vervangen.
    278  
    279 Sinds protocol versie 1.5 
    280 - Opdrachten`add_node` en `add_way` ondersteunen de parameter `addtags`
    281 - Het is mogelijk om het teken `=` te gebruiken in de waarde en alle voorloop en navolgende spaties worden verwijderd.
    282 [http://localhost:8111/add_node?lon=13.3&lat=53.2&addtags=natural=tree%7Cname=%20%20%20==Grote%20eik==] (maakt een knoop met natural=tree en name="==Grote eik==")
    283 - Indien een lege waarde wordt gevonden, dient de tag te worden verwijderd van de objecten (bevestiging met keuzevak is nodig)
    284 [http://localhost:8111/load_and_zoom?addtags=wikipedia%3Ade=Weiße_Gasse%7Cmaxspeed=&select=way23071688,way23076176,way23076177,&left=13.739727546842&right=13.740890970188&top=51.049987191025&bottom=51.048466954325]. 
    285  
    286 === Andere opdrachten ===
    287 Afstandsbediening staat andere invoegtoepassingen toe om aanvullende opdrachten toe te voegen. De andere registreert een klasse RequestHandler en specificeert opdracht om te worden afgehandeld door die klasse. De syntaxis van de opdracht moet worden gedefinieerd door de andere invoegtoepassing.
    288  
    289 Invoegtoepassing Reverter maakt sinds versie 27091 gebruik van deze mogelijkheid.
     15== Zie ook ==
     16* '''[[wiki:/Nl:Help/RemoteControlCommands]]''' - de lijst met opdrachten
    29017
    29118----