Webkaartje met Fietstags

Die oorspronkelijke kaart heeft zijn eindpunt bereikt, mijn eigen doel was eigenlijk alleen om dynamisch fietspaden op de mapnik ondergrond als rode lijnen te krijgen. Gaandeweg kreeg die kaart meer en meer het karakter van een te bekijken kaart ipv een tag-controle. En daar was het allemaal veel te rommelig voor.

Het verschil is ook dat ik nu niet knoei in bestaande code maar het zelf opbouw.
De functies zijn op zich helder, en als je er doorheen gaat kom je er snel achter hoe de blokken werken.
Nu eens zien wat ik er verder mee kan.
bijv. alle lokale fietsroutes die geen mtb zijn

Dat gaat snel. Je ziet heel snel dat er ergens stukken weg ontbreken in de relatie. Ben je nog van plan om de kaart zo te maken dat je een editor kunt openen? Edit: of ms beter… extra functionaliteit onder de click?

Als ook ligfietser er zo langzamerhand wel klaar mee is dan is de tijd rijp om met een naam voor het kaartje te komen. Moeten we een prijsvraag (zonder prijs, maar met eeuwige roem :wink: ) uitschrijven voor een naam of is het voorstel van Ligfietser “Open cycle tag map” (of ms “Open Bicycle tag map”) OK? Dan kan ik daarna de Engelstalig wiki maken en kan een ieder de kaart her en der gaan pluggen. Is dit zo’n beetje de marsroute?

Ben er helemaal klaar mee Peewee :laughing:
Wat denk je van http://wiki.openstreetmap.org/wiki/Bicycle_tags_map
De NL pagina verhuist dan naar http://wiki.openstreetmap.org/wiki/NL:Bicycle_tags_map maar ik weet niet precies hoe je dat doet met de taalkeuzes [edit: opgelost, moet nu nog vertaald worden]

BTW ik heb ook nog even een Mapnik Zwart/Wit layer toegevoegd, misschien handig voor het contrast?
http://mijndev.openstreetmap.nl/~ligfietser/fiets/?map=route&zoom=14&lat=52.11126&lon=5.38323&layers=0B0000FFFFFFTTFFF

Ik snap helemaal niks meer van die wiki, de Engelse pagina zie ik alleen als ik ben ingelogd, http://wiki.openstreetmap.org/wiki/Bicycle_tags_map :confused:
De NL pagina staat nu zowel op http://wiki.openstreetmap.org/wiki/Webkaartje_fietstags als http://wiki.openstreetmap.org/wiki/NL:Bicycle_tags_map

Edit: de pagina is nu wel weer zichtbaar, dus Peewee, go your gang :wink:

I will go my gang but it can well even duren. Patience is a schone zaak. :wink:

"of een lokale versie op de pc te draaien, deze is hier te downloaden "

is dat wel een oplossing?
gezien alle strubbelingen met lokale versies.

Allroads, dat probleem ging toch over gps tracks en die zitten niet in het kaartje.
IE 9 doet het op mijn pc wel maar online niet.

proef op de som net jouw set gedownload en je hebt gelijk wat betreft lokaal IE.
jullie zijn al weer verder dan ik dacht.

Die Z/W mapnik is een mooie toevoeging want geeft inderdaad een beter contrast. Ik heb de engelse wiki gedaan (dus: Shoot) en ook meteen de NL wat aangepast (plaatjes).

Ik heb de kaart ook op het Duitse forum bekend gemaakt door een reactie op een overpass vraag.

Ik ben eigenlijk wel benieuwd naar de popularitiet van de kaart. Tijd voor een tellertje?

En nog een verzoekje voor Ligfietser: Kan de kleur van de “paved” naar een wat beter zichtbaar kleurtje. Dat wit valt weg tegen de lichte wegen.

Ligfietser:
in noordpass staat ‘layer.events.register(“featuresadded”, layer, make_features_added_closure());’
Verander ‘featuresadded’ in ‘loadend’. De statusmelding verdwijnt dan ook als er op een laag niks te zien is ( dus ook geen ‘featuresadded’ getriggerd wordt). Dat was nog een stukje uit de originele overpass code.
De site is verplaatst. De laadtekst is veranderd in een gif als indicatie.
Voor het IE probleem is de enige oplossing een proxy te gebruiken. Probeer eens uit te vinden wat je op mijndev wel en niet mag ( cgi scripts draaien, php of python )

Is een mooie toevoeging. Dat valt meer op zo.

Eigenlijk zou je twee verschillende indicaties moeten hebben. Het proces bestaat uit twee onderdelen laden en schrijven. De einde schrijf/teken indicatie is er niet.
Ik heb wel eens van hij is klaar met laden waarom zie ik het nog niet. Je hebt dan de neiging om te gaan schuiven, zoomen in uit.
Soms is er gewoon niks of hij is nog met tekenvoorbereiding bezig.

@Peewee, de verharde wegen hebben nu een ander kleurtje, de vertaalde wiki ziet er goed uit.
@Noordfiets, bedankt, het ladende gifje toegevoegd. Misschien weet Lambertus wel hoe je die site onder IE aan de praat kan krijgen, zal het eens informeren.

Aangepast. Het kan zijn dat tijdens het tekenen het gifje niet beweegt omdat de processor het te druk heeft …

Hmm, werkt niet zoals ik gedacht had. Laat het eerst even.

Dank, en dank. Jij nog bedankt voor het uitzoeken hoe je zo’n engelse variant van de wiki kunt maken. Scheelt met weer tijd. Ik zal eens een stukje proza dichten voor het development forum zodat anderen ook kunnen profiteren van dit kaartje.

Toch wel leuk die afgeleide initiatieven in dit draadje ook al gaat het me technisch wat te ver op dit moment (zou daar weer eens in moeten duiken dat geprogammeer, 35 jaar niet meer gedaan).
Dankzij deze link zie ik dat fietsroutes in mijn omgeving incompleet zijn. Inmiddels Neerijnenroute weer compleet en Stercke Dijkenroute is nu aan de beurt.
Leuke is altijd dat je na een kwartiertje of half uur op Lonvia of op de de verwijzing van Noordfiets gelijk je aanpassing ziet.
Gr.
Kees

Misschien als tijdelijke oplossing een waarschuwing vooraf aan IE gebruikers?
Probeer maar uit op http://mijndev.openstreetmap.nl/~ligfietser/fiets/test/

<p class="accent">
<!--[if IE]>
<script>
{
alert("Internet Explorer might not work, please use another browser!");
}
</script>
<![endif]-->
</p>

Of dat IE gebruikers automatisch geredirect worden naar Noordfiets’ server?
Als ik naar de browser stats kijk zijn dat er 7 vandaag (8% van de bezoekers).

Ook een optie, maar dan met <!–[if lt IE 10]>
Want IE10 ondersteunt CORS op de standaard manier en werkt wel.

Mooi initiatief jong’s. Helaas poepie druk op het werk en dus staan vrijwel alle OSM activiteiten tijdelijk in de ijskast, maar ik hoop even snel een bijdrage te kunnen leveren.

IE lijkt dus te bokken op een cross site call, de standaard oplossing hiervoor is een proxy, de mooiste oplossing een javascript/html truuk die in bijvoorbeeld tools als jQuery zit, maar met de standaard oplossing heb ik wat ervaring:
Alle AJAX aanvragen van de browser die naar een pagina buiten de mijndev site gaan moeten via een proxy op de mijndev site gestuurd worden. Zo’n proxy is een simpel (PHP) script dat de request parameters doorstuurt naar de eigenlijke pagina, het antwoord inleest en teruggeeft aan de browser. Het is een omweg maar het werk. Zoek je op ‘cross site’ en ‘proxy’ dan kom je hier genoeg voorbeelden van tegen maar met onderstaand script van phpfour.com heb ik goede ervaringen.

<?php

/**
 * Transport for Cross-domain AJAX calls
 *
 * This is an implementation of a transport channel for utilizing cross-domain
 * AJAX calls. This script is passed the data through AJAX along with two special
 * hidden field containing the action URL and the http method (GET/POST). It then  
 * sends the form fields to that URL and returns the response.
 *
 * @package		CrossDomainAjax
 * @category	CURL
 * @author		Md Emran Hasan <phpfour@gmail.com>
 * @author		Lambertus IJsseltein: security fix (allowed domains), flexible headers
 * @link		http://www.phpfour.com
 */

// The domains we're allowed to contact
$allowedDomains = array('http://gazetteer.openstreetmap.org/', 
					'http://nominatim.openstreetmap.org/', 
					'http://dev.openstreetmap.nl/', 
					'http://www.yournavigation.org/',
					'http://yournavigation.org/',
					'http://planetosm.oxilion.nl/',
					'http://osm.pleiades.uni-wuppertal.de/');

// The actual form action
$action = $_REQUEST['url'];

// Submission method
$method = $_REQUEST['method'];

// Query string
$fields = '';

// Check the url for allowed domains
$fail = true;
foreach ($allowedDomains as $domain)
{
    if (strpos(substr($action, 0, strlen($domain)), $domain) !== false)
    {
        $fail = false;
	break;
    }
}

if ($fail == true)
{
    exit("Domain name '".$action."' not allowed. Access denied.");
}

// Prepare the fields for query string, don't include the action URL OR method
if (count($_REQUEST) > 2)
{
    foreach ($_REQUEST as $key => $value)
    {
        if ($key != 'url' && $key != 'method')
        {
            $fields .= $key . '=' . rawurlencode($value) . '&';
        }
    }
}

// Strip the last comma
$fields = substr($fields, 0, strlen($fields) - 1);

// Initiate cURL
$ch = curl_init();

// Do we need to POST of GET ?
if (strtoupper($method) == 'POST')
{   
    curl_setopt($ch, CURLOPT_URL, $action);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
}
else
{
    curl_setopt($ch, CURLOPT_URL, $action . '?' . $fields);   
}

// Follow redirects and return the transfer
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "transport.php (CURL)");
 
// Get result and close cURL
$result = curl_exec($ch);
$curl_info = curl_getinfo($ch);
curl_close($ch);

// Return the response
header("Content-type: ".$curl_info['content_type']);
echo $result;

?>

Plaats het bovenstaande script in http://mijndev.openstreetmap.nl/~ligfietser/fiets/ en vervang de allowedDomains array met de sites die je moet kunnen benaderen. Deze methode van whitelisting is noodzakelijk omdat je site anders misbruikt kan worden voor allerlei illegale activiteiten.

Vervolgens plaats je in de JavaScript de AJAX call de url van dit proxy-script voor de externe url die je nu aanroept. Bijvoorbeeld:

OpenLayers.Request.GET({
			url: "proxy.php?url=http://overpass-api.de/api/interpreter/",
			callback: onLoadMenu}
			);

Het interessante stukje hierin is: “proxy.php?url=”. Hiermee veranderd de externe AJAX call naar een locale AJAX call en dan mag het wel van IE. Ik hoop dat jullie hier wat aan hebben.