x

Neuling hat frage... Direktaufruf einer Adresse mittels URL


  1. Neuling hat frage... Direktaufruf einer Adresse mittels URL · StJahn (Gast) · 27.06.2012 09:52 · [flux]

    Hallo Zusammen,

    ok eine Adresse direkt mittels URL aufzurufen hab ich hinbekommen.

    Aber meine Frage ist, gibt es eine Möglichkeit die Karte als "reine Karte" aufzurufen ?!
    Also ohne irgendwelche Menü bzw Eingabe/Suchfelder auf der Karte ?

    Gruß
    Stefan


    • Re: Neuling hat frage... Direktaufruf einer Adresse mittels URL · tunnelbauer (Gast) · 27.06.2012 09:53 · [flux]

      Von welcher Karte sprichst du?


    • Re: Neuling hat frage... Direktaufruf einer Adresse mittels URL · StJahn (Gast) · 27.06.2012 10:17 · [flux]

      Also wenn ich dieses z.B. aufrufe :

      http://www.openstreetmap.de/karte.html? … n=13.38696

      Ich möchte halt nur die reine Karte haben. Ohne Eingabefelder etc.


    • Re: Neuling hat frage... Direktaufruf einer Adresse mittels URL · Mondschein (Gast) · 27.06.2012 10:28 · [flux]

      StJahn wrote:

      Ich möchte halt nur die reine Karte haben. Ohne Eingabefelder etc.

      Direkt auf http://www.openstreetmap.de geht das nicht.

      Bevor dir möglicherweise jemand eine Lösung anbietet:
      Hast du dafür einen konkreten Verwendungszweck?

      Gruß,
      Mondschein


    • Re: Neuling hat frage... Direktaufruf einer Adresse mittels URL · StJahn (Gast) · 27.06.2012 10:36 · [flux]

      Ja und zwar im Bereich der Feuerwehr.

      Wir bekommen die (Einsatz)Adresse elektronisch angeliefert. Jetzt haben wir einen 19Zoll TFT Monitor auf dem die Adresse auf der Karte angezeigt werden soll. Auf dem 19 Zoll Monitor befinden sich jedoch noch andere einsatzspezifische Inhalte, so dass die OpenstreetMapKarte selbst nur einen gewissen Bereich auf dem Monitor zur Verfügung hat. Und deshalb sind Kartenmenüs und oder Eingabefelder störend.

      Das ganze hab ich bissher mit GoogleMaps umgesetzt, wollte aber auf OSM umsteigen...


    • Re: Neuling hat frage... Direktaufruf einer Adresse mittels URL · wambacher (Gast) · 27.06.2012 10:43 · [flux]

      StJahn wrote:

      Das ganze hab ich bissher mit GoogleMaps umgesetzt, ...

      und wie? eventuell mit ner kleine web-seite und einem eingebetteten Link? ginge mit osm auch.
      siehe https://toolserver.org/~geohack/geohack … e:landmark

      gib uns mal nen tip, noch besser nen screenshot. (ein bild sagt ....)
      kannst ja kritische Sachen übermalen.

      Gruss
      walter


    • Re: Neuling hat frage... Direktaufruf einer Adresse mittels URL · !i! (Gast) · 27.06.2012 11:02 · [flux]

      Hallo StJahn, herzlich willkommen bei unserem Projekt 🙂

      Ui Feuerwehr und BOS klingt interessant. Da gibt es bei uns einige die sich mit sowas beschäftigen, siehe z.B. www.openfiremap.org Wir Rostocker waren im Frühjahr mal hier bei unserer Feuerwehr, die nutzen auch OSM als Ergänzung.

      Was du machen könntest, ist eine Anfrage an Nominatim (Namensdienst/Geocoder) zu stellen und den dir geeignetsten Eintrag dann per JavaScript heraussuchst und anfährst. Nix anderes macht die Suche auf http://openstreetmap.de/karte.html

      Aber die Adressen müssen natürlich da sein und die Gebietflächen (Stadt/Stadteil) sollten natürlich auch stimmen 😉


    • Re: Neuling hat frage... Direktaufruf einer Adresse mittels URL · Mondschein (Gast) · 27.06.2012 11:06 · [flux]

      Mit OpenLayers oder Leaflet geht ziemlich viel.

      Nur ein kleines "randloses" Beispiel mit Leaflet:
      http://leaflet.cloudmade.com/examples/m … ample.html

      Hast du denn schon die Koordinaten vorliegen, mit welcher du die Karte aufrufen kannst oder nur die Adresse wie z.B. Straße und Hausnummer?
      Wie erfolgt bisher die Umwandlung der Adresse in Koordinaten für die Karte?

      Gruß,
      Mondschein


    • Re: Neuling hat frage... Direktaufruf einer Adresse mittels URL · wambacher (Gast) · 27.06.2012 11:11 · [flux]

      !i! wrote:

      Ui Feuerwehr und BOS klingt interessant. Da gibt es bei uns einige die sich mit sowas beschäftigen, siehe z.B. www.openfiremap.org Wir Rostocker waren im Frühjahr mal hier bei unserer Feuerwehr, die nutzen auch OSM als Ergänzung.

      ich sehe das Problem erstmal darin, zu klären wie die bisherige SW-Situation ist:
      Einfach mehrere Browser-Fenster und eines ist halt google map? oder schon irgendwas selbstgestricktes?

      Danach können wir weitersehen.
      Gruss
      walter


    • Re: Neuling hat frage... Direktaufruf einer Adresse mittels URL · StJahn (Gast) · 27.06.2012 11:21 · [flux]

      Also das ganze war/ist aufgebaut mittels VisualBasic...

      In der VB-Form ist ein WebBrowser-Steuerelement. sprich ein BrowserFenster eingebettet und dieses kann ich koplett mit VB ansprechen.

      Und ja, im Moment rufe ich als ersten Step die XML per "http://nominatim.openstreetmap.org/sear … format=xml"
      auf und lese per VB den Inhalt aus. So kann ich feststellen, ob es Adresse bzw Hausnummer überhaupt gibt. Im zweiten Step, also wenn es die Adresse gibt, werden aus der XML die GeoKoordinaten ausgelesen und "bis jetzt" hiermit aufgerufen : http://www.openstreetmap.de/karte.html? … n=13.38696.

      Wie gesagt, soweit funktioniert das auch... Nur hätte ich eine reine Karte ohne Menüs und oder Eingabefelder...


    • Re: Neuling hat frage... Direktaufruf einer Adresse mittels URL · Mondschein (Gast) · 27.06.2012 12:59 · [flux]

      StJahn wrote:

      und "bis jetzt" hiermit aufgerufen : http://www.openstreetmap.de/karte.html? … n=13.38696.

      Dann erstelle dir z.B. eine HTML-Seite, welche OpenLayers oder Leaflet verwendet und deinen Wünschen entspricht.

      Hier ein einfaches Beispiel mit OpenLayers, ohne Rand und mit Kacheln von openstreetmap.de:

      <html>
      <head>
      <title>Test</title>
      
      <style␣type="text/css">
      html,␣body,␣#mapdiv␣{
      width:␣100%;
      height:␣100%;
      margin:␣0;
      }
      </style>
      
      <script␣src="http://www.openlayers.org/api/OpenLayers.js"></script>
      
      <script>
      function␣init()␣{
      
      var␣epsg4326␣=␣new␣OpenLayers.Projection("EPSG:4326");␣//WGS␣1984␣projection
      
      map␣=␣new␣OpenLayers.Map({
      div:␣"mapdiv",
      displayProjection:␣epsg4326
      });
      
      //␣␣␣␣␣␣␣␣var␣mapnik␣=␣new␣OpenLayers.Layer.OSM();
      //␣␣␣␣␣␣␣␣map.addLayer(mapnik);
      
      var␣osmde␣=␣new␣OpenLayers.Layer.OSM("osm.de",
      ["http://a.tile.openstreetmap.de/tiles/osmde/${z}/${x}/${y}.png",
      "http://b.tile.openstreetmap.de/tiles/osmde/${z}/${x}/${y}.png",
      "http://c.tile.openstreetmap.de/tiles/osmde/${z}/${x}/${y}.png"])
      
      map.addLayer(osmde);
      
      map.addControls([
      //␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣new␣OpenLayers.Control.Navigation(),
      //␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣new␣OpenLayers.Control.PanZoomBar(),
      //␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣new␣OpenLayers.Control.LayerSwitcher(),
      //␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣new␣OpenLayers.Control.ScaleLine(),
      new␣OpenLayers.Control.Permalink(),
      new␣OpenLayers.Control.MousePosition(),
      new␣OpenLayers.Control.Attribution()
      ]);
      
      }
      </script>
      
      </head>
      <body␣onload="init();">
      <div␣id="mapdiv"></div>
      </body>
      </html>
      

      Aufrufen kannst du die Seite dann wie üblich in deinem Browser z.B. mit:
      Pfad_zu_deiner_lokalen_HTML_Datei.html?zoom=15&lat=52.51574&lon=13.38696

      Aber da kann sicher ein OpenLayers-Experte noch etwas mehr herausholen, kenne mich da nicht so aus. 🙂
      Evtl. noch einen Marker auf die Karte setzen...

      Möglicherweise wäre es auch sinnvoll die OpenLayers-Dateien lokal zu speichern, damit die Karte auch noch funktioniert, falls openlayers.org nicht erreichbar ist oder sich die API ändert.

      Gruß,
      Mondschein


    • Re: Neuling hat frage... Direktaufruf einer Adresse mittels URL · Hobby Navigator (Gast) · 27.06.2012 13:06 · [flux]

      Oder du nutzt ganz einfach die "Informationfreewaydarstellung" das würde dann so aussehen

      Georg


    • Re: Neuling hat frage... Direktaufruf einer Adresse mittels URL · Cobra (Gast) · 27.06.2012 14:38 · [flux]

      Bitte nicht mehr auf Informationfreeway.org verlinken. Die Seite ist quasi defekt, veraltet und FOSM-verseucht.


    • Re: Neuling hat frage... Direktaufruf einer Adresse mittels URL · Hobby Navigator (Gast) · 27.06.2012 22:21 · [flux]

      @Cobra, kannst du das ein bischen näher erklären? Was ist dort passiert? Scheinbar ist da etwas an mir vorbei gegangen. 🤔
      Georg


    • Re: Neuling hat frage... Direktaufruf einer Adresse mittels URL · Cobra (Gast) · 27.06.2012 22:54 · [flux]

      - tiles@home/osmarender ist immer noch in der Layerliste
      - tile-Markierung für osmarender-rerender ist immer noch vorhanden
      - diverse Layer, die eigentlich FOSM-Daten zeigen sollten
      - alle Layer außer osm-Mapnik-default sind defekt
      - defekte Layer zeigen ohne Hinweise/Fehlermeldung osm-Mapnik-default
      - hängt irgendwie mit FOSM zusammen (relevant für alle, die den Haufen nicht mögen)
      - falsche/fehlende Attributierung


    • Re: Neuling hat frage... Direktaufruf einer Adresse mittels URL · Mondschein (Gast) · 28.06.2012 01:02 · [flux]

      Mondschein wrote:

      Möglicherweise wäre es auch sinnvoll die OpenLayers-Dateien lokal zu speichern, damit die Karte auch noch funktioniert, falls openlayers.org nicht erreichbar ist oder sich die API ändert.

      Zufällig wurde OpenLayers wenige Stunden nachdem ich das Beispiel hier veröffentlicht habe auf Version 2.12 aktualisiert und damit funktioniert mein Beispiel nicht mehr.
      Also bitte http://www.openlayers.org/api/OpenLayers.js in http://www.openlayers.org/api/2.11/OpenLayers.js abändern, dann funktioniert es wieder.
      Wie gesagt, möglichst gleich eine lokale Kopie von OpenLayers verwenden, damit das nicht passiert:
      http://www.openlayers.org/download/Open … .11.tar.gz

      Gruß,
      Mondschein


    • Re: Neuling hat frage... Direktaufruf einer Adresse mittels URL · Hobby Navigator (Gast) · 28.06.2012 06:22 · [flux]

      Cobra wrote:

      - tiles@home/osmarender ist immer noch in der Layerliste
      - tile-Markierung für osmarender-rerender ist immer noch vorhanden
      - diverse Layer, die eigentlich FOSM-Daten zeigen sollten
      - alle Layer außer osm-Mapnik-default sind defekt
      - defekte Layer zeigen ohne Hinweise/Fehlermeldung osm-Mapnik-default
      - hängt irgendwie mit FOSM zusammen (relevant für alle, die den Haufen nicht mögen)
      - falsche/fehlende Attributierung

      Ok, die Sache mit den zum Teil nicht mehr funktionierenden "Layern" war mir schon aufgefallen. Ansonsten war mir bei der Darstellung noch nichts weiter aufgefallen. Wahrscheinlich will man den Infofreeway am langen Arm verhungern lassen. Schade eigentlich, aber es gibt ja genügend Alternativen..
      Georg


    • Re: Neuling hat frage... Direktaufruf einer Adresse mittels URL · Mondschein (Gast) · 28.06.2012 14:23 · [flux]

      Jetzt noch ein einfaches Beispiel mit Leaflet, ohne Rand, mit Kacheln von openstreetmap.de und Marker (falls beim Aufruf Koordinaten und Zoom angegeben wurden):

      <html>
      <head>
      <title>Test</title>
      
      <style␣type="text/css">
      html,␣body,␣#mapdiv␣{
      width:␣100%;
      height:␣100%;
      margin:␣0;
      }
      </style>
      
      <link␣rel="stylesheet"␣href="http://leaflet.cloudmade.com/dist/leaflet.css"␣/>
      <!--[if␣lte␣IE␣8]><link␣rel="stylesheet"␣href="http://leaflet.cloudmade.com/dist/leaflet.ie.css"␣/><![endif]-->
      </head>
      <body>
      <div␣id="mapdiv"></div>
      
      <script␣src="http://leaflet.cloudmade.com/dist/leaflet.js"></script>
      <script>
      
      var␣show_marker␣=␣new␣Boolean(false);
      
      var␣map␣=␣new␣L.Map('mapdiv');
      
      var␣osmdeUrl␣=␣'http://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png',
      osmdeAttribution␣=␣'Map␣data␣&copy;␣<a␣href="http://www.openstreetmap.org">OpenStreetMap</a>␣contributors,␣<a␣href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>',
      osmde␣=␣new␣L.TileLayer(osmdeUrl,␣{maxZoom:␣18,␣attribution:␣osmdeAttribution});
      
      //map.setView(new␣L.LatLng(52.51574,␣13.38696),␣18).addLayer(osmde);
      
      var␣default_latlon␣=␣new␣L.LatLng(52.51436,␣13.35005);
      var␣default_zoom␣=␣18;
      
      if␣(window.location.hash)␣{
      var␣loc␣=␣window.location.hash.split("/");
      zoom␣=␣loc[0].replace("#",␣"");
      if␣(␣typeof␣loc[1]␣!==␣"undefined"␣&&␣typeof␣loc[2]␣!==␣"undefined"␣)␣{
      latlon␣=␣new␣L.LatLng(␣loc[1],␣loc[2]␣);
      show_marker␣=␣true;
      }
      }
      
      if␣(typeof␣latlon␣===␣"undefined")␣␣␣{␣latlon␣␣=␣default_latlon␣};
      if␣(typeof␣zoom␣===␣"undefined")␣{␣zoom␣=␣default_zoom␣};
      
      map.setView(latlon,␣zoom).addLayer(osmde);
      
      if␣(show_marker␣==␣true)␣{
      marker␣=␣new␣L.Marker(latlon);
      map.addLayer(marker);
      }
      
      //␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣alert('lat='␣+␣latlon.lat␣+␣'␣lon='␣+␣latlon.lng␣+␣'␣zoom='␣+␣zoom);
      
      </script>
      </body>
      </html>
      

      Aufrufen kannst du die Seite in deinem Browser z.B. mit:
      Pfad_zu_deiner_lokalen_HTML_Datei.html?#15/52.51574/13.38696

      Möglicherweise wäre es auch hier sinnvoll die Leaflet-Dateien lokal zu speichern:
      http://leaflet.cloudmade.com/download.html

      Wie immer:
      Lässt sich sicher noch verbessern.
      Alle Angaben ohne Gewähr!
      🙂

      Gruß,
      Mondschein


    • Re: Neuling hat frage... Direktaufruf einer Adresse mittels URL · !i! (Gast) · 29.06.2012 08:39 · [flux]

      Also wenn es läuft, würden wir uns über ein Foto vom praktischen Einsatz freuen 🙂 Das könnten wir bestimmt auch in der Wochnnotiz bringen.


    • Re: Neuling hat frage... Direktaufruf einer Adresse mittels URL · MoTaBi (Gast) · 29.06.2012 13:28 · [flux]

      bzw. Streuung der OSM-Info unter Feuerwehr-Kollegen wäre auch toll 🙂
      "Spread the Word!" 😄


    • Re: Neuling hat frage... Direktaufruf einer Adresse mittels URL · Oli-Wan (Gast) · 29.06.2012 14:09 · [flux]

      StJahn wrote:

      ... als ersten Step ... http://nominatim.openstreetmap.org/ ...
      ... http://www.openstreetmap.de/karte.html ...

      Da wäre allerdings zu überlegen, lokal mindestens einen Tileserver aufzusetzen oder einen Fallback auf eine andere Karte bzw. andere Kacheln einzubauen: Bei OpenStreetMap (.org, .de) gibt es keine Betriebsgarantie. Es ist zwar mittlerweile sehr selten geworden, kann aber trotzdem immer mal passieren, daß die OSM-Server vorübergehend nicht verfügbar sind.

      Von daher würde ich vorschlagen, Kacheln für das benötigte Gebiet lokal zu rendern und vorzuhalten. Die Karte muß ja sicher nicht tagesaktuell sein, insofern reichen statische Kacheln, die man z.B. einmal im Monat (automatisiert) neu rendert.
      Eine einfachere Alternative wäre, verschiedene Layer anzubieten. Wenn dann die bevorzugten Kacheln von openstreetmap.de einmal nicht zur Verfügung stehen, könnte man zu openstreetmap.org, Mapquest, Bing oder sogar G**gle umschalten (ggf. sogar automatisch).

      Im Prinzip gilt gleiches für den Nominatim-Dienst. Aber notfalls geht es ja auch ohne automatische Adresssuche, Hauptsache man hat zumindest eine Karte.

      Das sollen nur Anregungen sein. Ich verstehe, daß es im Moment primär um die Darstellung auf dem Monitor geht. Aber im nächsten Schritt würde ich darüber nachdenken, wie die Verfügbarkeit gesichert werden kann.


    • Re: Neuling hat frage... Direktaufruf einer Adresse mittels URL · Mondschein (Gast) · 30.06.2012 00:56 · [flux]

      Hier eine Version, welche auch mit dem neuen OpenLayers 2.12 kompatibel ist.
      Nur Maßstab, Attribuierung und die Karte werden angezeigt.
      Höhe und Breite werden zu 100% genutzt, also maximale Kartengröße.
      Zoomen und Verschieben der Karte kann per Maus (auch Mausrad) oder Tastatur erfolgen.
      Verschiedene Dinge habe ich auskommentiert und lassen sich bei Bedarf einfach wieder aktivieren.

      <html>
      <head>
      <title>Test</title>
      
      <link␣rel="stylesheet"␣href="http://www.openlayers.org/api/theme/default/style.css"␣type="text/css">
      <script␣src="http://www.openlayers.org/api/OpenLayers.js"></script>
      
      <style␣type="text/css">
      html,␣body␣{
      width:␣100%;
      height:␣100%;
      padding:␣0;
      margin:␣0;
      }
      
      div#mapdiv␣{
      width:␣100%;
      height:␣100%;
      padding:␣0;
      margin:␣0;
      }
      
      /*	a[href]␣{
      color:␣#000000;
      background-color:␣transparent;
      }*/
      
      .olControlAttribution␣{
      bottom:␣3px;
      right:␣3px;
      /*␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣font-size:␣10px;␣*/
      font-size:␣x-small;
      color:␣#000000;
      }
      
      .olControlScaleLineBottom␣{
      display:␣none;
      }
      
      </style>
      
      <script>
      function␣init()␣{
      
      var␣proj4326␣=␣new␣OpenLayers.Projection("EPSG:4326");␣//WGS␣1984␣projection
      var␣projmerc␣=␣new␣OpenLayers.Projection("EPSG:900913");
      
      map␣=␣new␣OpenLayers.Map("mapdiv",␣{
      //␣			div:␣"mapdiv",
      controls:[
      new␣OpenLayers.Control.Navigation(),
      //␣			new␣OpenLayers.Control.PanZoomBar(),
      //␣			new␣OpenLayers.Control.LayerSwitcher(),
      new␣OpenLayers.Control.ScaleLine({geodesic:true}),
      //␣			new␣OpenLayers.Control.PanZoom(),
      new␣OpenLayers.Control.ArgParser(),
      //␣			new␣OpenLayers.Control.OverviewMap(),
      new␣OpenLayers.Control.KeyboardDefaults(),
      //␣			new␣OpenLayers.Control.Permalink(),
      //␣			new␣OpenLayers.Control.MousePosition(),
      new␣OpenLayers.Control.Attribution()],
      numZoomLevels:␣18,
      units:␣'m',
      projection:␣projmerc,
      displayProjection:␣proj4326
      }␣);
      
      var␣osmde␣=␣new␣OpenLayers.Layer.OSM("OSM␣deutscher␣Stil",
      ["http://a.tile.openstreetmap.de/tiles/osmde/${z}/${x}/${y}.png",
      "http://b.tile.openstreetmap.de/tiles/osmde/${z}/${x}/${y}.png",
      "http://c.tile.openstreetmap.de/tiles/osmde/${z}/${x}/${y}.png"],
      {
      isBaseLayer:true,
      tileOptions:␣{␣crossOriginKeyword:null␣},
      attribution:␣'Map␣data␣&copy;␣<a␣href="http://www.openstreetmap.org">OpenStreetMap</a>␣contributors,␣<a␣href="http://creativecommons.org/licenses/by-sa/2.0/">CC␣BY-SA␣2.0</a>',
      numZoomLevels:␣19,
      opacity:␣1.0
      }␣);
      
      map.addLayer(osmde);
      
      //␣		var␣mapnik␣=␣new␣OpenLayers.Layer.OSM();
      //␣		map.addLayer(mapnik);
      
      if␣(!map.getCenter()){
      map.setCenter(new␣OpenLayers.LonLat(10.0,51.0).transform(proj4326,projmerc),␣5);
      }
      }
      </script>
      
      </head>
      <body␣onload="init();">
      <div␣id="mapdiv"></div>
      </body>
      </html>
      

      Aufruf im Browser z.B.:
      Pfad_zur_lokalen_HTML_Datei.html?zoom=15&lat=52.51574&lon=13.38696
      oder ohne Übergabe der Koordinaten, dann wird das (einstellbare) Standard-Kartenzentrum und der (einstellbare) Standard-Zoom verwendet:
      Pfad_zur_lokalen_HTML_Datei.html

      Gruß,
      Mondschein


    • Re: Neuling hat frage... Direktaufruf einer Adresse mittels URL · StJahn (Gast) · 03.07.2012 22:04 · [flux]

      Sorry, ich bin da noch am Ball... Aber Danke schon mal für die Antworten.
      Im moment grade nur wenig Zeit mich damit zu befassen. Evtl. gehts am Wochenende weiter....