OpenStreetMap

Multiuser-Mode

Jetzt kann man die Welt der OSM-Daten zusammen mit einem Freund besuchen. Während man sich bewegt sieht man neben sich die Begleitung, sich bewegen und umsehen. Startet man “OSM go” bekommt man als User-Name den seines Lands. Oder man nutzt www.osmgo.org?user=myName für einen Rufnamen oder noch besser, seinen OSM-Namen. Ein Klick mit der zweiten Maustaste dort, wo man hin will und ein Klick auf das Icon startet “OSM go”. Ein Freund kann folgen, in dem er die Slippy-Map nutzt (siehe unten)

multiuser

In “OSM go” ist ein ‘Chat’ implementiert. Die Taste C öffnet einen Dialog um Text einzugeben. Die aktuellen Chat-Texte werden oben-links in der Text-Box angezeigt. Dort sieht man auch, wenn ein User erscheint oder verschwindet. Wer es mit mir (-karlos-) testen möchte sende mir einen Zeitpunkt; vielleicht bin ich da als Begreitung. Also nicht überrascht sein beim benutzen von “OSM go” wenn ein Smily herumsaust. Einige user hatten schon einigen Spaß dabei. Mancher mag auch erschreckt worden sein, sorry.

Slippy map

Die neue Slippy-Map wurde mit Leaflet erstellt. Sie wird sichtbar, wenn man www.osmgo.org aufruft. Or wenn man die Taste M drückt während man “OSM go” nutzt.

slippymap

Normalerweise sieht man die Standard OSM-Karte mit weiteren Layern:

  • Eine Anzahl von Stadt-Icons, die man von ‘Demo areas’ auf der Wiki-Seite Simple 3D buildings kennt. Ein klick auf eines davon zeigt das Map-Menü. Dort kann einer der 3D-Renderer ausgesucht werden. Der Pfeil rechts zoomt hinein zu dem Ort oder ‘raus zur Weltkarte.

Es gibt die üblichen Karten-Zoom-Bedienungen, eine Suche um Orte auf der Erde per Text zu finden und einen “Knopf” um zu seinem eigenen Ort zu kommen. Die Cursor-Keys, Maus-Ziehen oder Touch-Wischen verschiebt die Karte. Die Tasten Plus/Minus und das Mauspad zoomen. Ein Doppelklick zoomt hinein, ein Einfachklick ‘raus. Die zweite Maustaste irgendwo auf der Karte oder ein langer Touch bringt das Map-Menü wie oben beschrieben.

Mit dem Menü oben rechts kann man verschiedene “OSM go” spezifische Layer aktivieren:

  • “OSM go” zeigt alle user als Icon, aktive als Smily. Ein klick auf einen bringt das Map-Menü. Wenn man dann mit dem Pfeil zoomt könnte man vielleicht sehen, wir ein user sich über die Karte bewegt. Wenn man hier selbst “OSM go” startet, landet man neben seinem OSM-Freund. Wenn ein anderer user “OSM go” startet oder verläßt, bringt die Karte eine Nachricht.

  • Layer “You” wird aktiv, wen man den “Location-Knopf” drückt. Der Browser fragt, ob er die aktuelle Adresse nutzen darf, zeigt dort ein Ikon und zoomt hin. Auch die Adresse, aus der IP ermittelt, wird als Icon angezeigt.

  • “Visits” zeigt eine Menge roter Kreise: Orte, die andere user kürzlich besucht haben. Vom letzten Besuch wird der Ort des Besuchers als blauer Kreis angezeigt. Und natürlich bringt ein Klick auf einen Kreis das Map-Menü um einen3 D-Renderer zu starten.

Wenn man einen eigenen Namen angibt (durch ergänzen von ?user=myName zur URL) sind nur die Layer “OSM go” und “Visits” aktiv.

Die Kartenfunktion/der Code ist nicht fertig. Es währe schön, wenn mir jemand helfen könnte, Leaflet richtig zu verwenden. Z.B.: Die Enter-Taste nutzen bei der Textsuche. Als Avatar habe ich erst ein erschreckendes menschliches Auge, dann ein Glasauge verwendet. Es sollte möglich sein, eigene Avatare hoch zu laden; wie das Auge vom 2001-HAL oder was auch immer. ** ‘OSM go’ verwendet einige URL-Parameter. Die sollten auch durch Karten-Menüs ersetzt werden. Nur Ich weis (noch) nicht wie das geht.

Aussicht

  • Es gibt noch viele Lücken zu füllen, wie weitere Dach-Typen.
  • Es soll eine 3rd-Person Ansicht geben mit Avataren wie in “Pokemon GO”.
  • Die ursprüngliche Idee, ein “Spiel” zu machen, das OSM hilft ist noch da. In den letzten Tagen habe ich Pokemon gespielt, zu inspiration. Vielleicht das: Finde neue Läden oder Geänderte, mach Bilder, damit man dann per Schreibtisch-Arbeit die Tags ändern kann.
  • Ich überlege, “OSM go” neu zu erstellen, in C++ (oder Shift ) um native Anwendungen zu erzeugen - und zum starten im Browser WebAssembly zu nutzen.

Discussion

Log in to leave a comment