Neuling hat frage... Direktaufruf einer Adresse mittels URL

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

Von welcher Karte sprichst du?

Also wenn ich dieses z.B. aufrufe :

http://www.openstreetmap.de/karte.html?zoom=15&lat=52.51574&lon=13.38696

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

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…

und wie? eventuell mit ner kleine web-seite und einem eingebetteten Link? ginge mit osm auch.
siehe https://toolserver.org/~geohack/geohack.php?pagename=Alexander%E2%80%99s_Rest&language=de&params=50.156305555556_N_8.07875_E_dim:2_region:DE-HE_type:landmark

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

Gruss
walter

Hallo StJahn, herzlich willkommen bei unserem Projekt :slight_smile:

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

Mit OpenLayers oder Leaflet geht ziemlich viel.

Nur ein kleines “randloses” Beispiel mit Leaflet:
http://leaflet.cloudmade.com/examples/mobile-example.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

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

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/search?q=XYZ+Germany&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?zoom=15&lat=52.51574&lon=13.38696.

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

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. :slight_smile:
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

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

Georg

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

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

  • 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

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/OpenLayers-2.11.tar.gz

Gruß,
Mondschein

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

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!
:slight_smile:

Gruß,
Mondschein

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

bzw. Streuung der OSM-Info unter Feuerwehr-Kollegen wäre auch toll :slight_smile:
“Spread the Word!” :smiley: