You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#1 2017-08-02 13:18:09

klemens_tirol
Member
Registered: 2017-08-02
Posts: 5

opentopomap

Hallo!

Für den Alarm-Monitor einer Blaulichorganisation möchte ich untenstehenden PHP-Quelltext von der Openstreetmap-Karte auf die Opentopomap-Karte umbauen. Die Struktur sollte gleich bleiben, da noch einige PHP-Abfragen notwendig sind (habe ich rausgeschnitten).

Kann mir bitte jemand helfen?

Habe bereits versucht die Zeile
map.addLayer(new OpenLayers.Layer.OSM());
durch
map.addLayer(new OpenLayers.Layer.OSM("OpenTopoMap", ["http://a.tile.opentopomap.org/${z}/${x}/${y}.png", "http://b.tile.opentopomap.org/${z}/${x}/${y}.png",    "http://c.tile.opentopomap.org/${z}/${x}/${y}.png"]));
zu ersetzen, Karte wird aber nicht angezeigt...


Danke für eure Hilfe!

LG


Quelltext:


<!DOCTYPE html>
<html>
  <head>
    <title>Karte</title>
    <link rel="stylesheet" href="http://openlayers.org/en/v3.17.1/css/ol.css" type="text/css">
    <script src="http://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList"></script>
    <script src="http://openlayers.org/en/v3.17.1/build/ol.js"></script>
  </head>
  <body>








<div id="mapdiv" style="height:950px; width:700px" valign="top"></div>
  <script src="http://www.openlayers.org/api/OpenLayers.js"></script>
  <script>
    map = new OpenLayers.Map("mapdiv");
    map.addLayer(new OpenLayers.Layer.OSM());

    var lonLat = new OpenLayers.LonLat(11.9055, 47.457833)
 



          .transform(
            new OpenLayers.Projection("EPSG:4326"),           
map.getProjectionObject()           );
         
    var zoom=15;

    var markers = new OpenLayers.Layer.Markers( "Markers" );
    map.addLayer(markers);
   
    markers.addMarker(new OpenLayers.Marker(lonLat));Q
       


    map.setCenter (lonLat, zoom);
  </script>

  </body>
</html>

Last edited by klemens_tirol (2017-08-02 13:32:15)

Offline

#2 2017-08-02 22:16:23

tquadrat
Member
Registered: 2015-03-03
Posts: 113

Re: opentopomap

klemens_tirol wrote:

    markers.addMarker(new OpenLayers.Marker(lonLat));Q

Hi,
Bist du dir sicher das die Zeile nicht einen JS Fehler wirft? (Q am Ende)
Schaus dir mal mit den Entwicklertools an.


LG Tom

Offline

#3 2017-08-03 18:48:15

klemens_tirol
Member
Registered: 2017-08-02
Posts: 5

Re: opentopomap

Hallo Tom,

danke für den Hinweis, hab das Q entfernt. Macht leider aber keinen Unterschied...

Gitternetz und Zoom wird angezeigt, die Karte im Hintergrund fehlt (violetter Hintergrund).


Quelltext Opentopomap:


<!DOCTYPE html>
<html>
  <head>
    <title>Karte</title>
    <link rel="stylesheet" href="http://openlayers.org/en/v3.17.1/css/ol.css" type="text/css">
    <script src="http://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList"></script>
    <script src="http://openlayers.org/en/v3.17.1/build/ol.js"></script>
  </head>
  <body>







<div id="mapdiv" style="height:950px; width:700px" valign="top"></div>
  <script src="http://www.openlayers.org/api/OpenLayers.js"></script>
  <script>
    map = new OpenLayers.Map("mapdiv");

   map.addLayer(new OpenLayers.Layer.OSM("OpenTopoMap", ["http://a.tile.opentopomap.org/${z}/${x}/${y}.png", "http://b.tile.opentopomap.org/${z}/${x}/${y}.png",    "http://c.tile.opentopomap.org/${z}/${x}/${y}.png"]));


    var lonLat = new OpenLayers.LonLat(11.9055, 47.457833)



          .transform(
            new OpenLayers.Projection("EPSG:4326"),           
map.getProjectionObject()           );
         
    var zoom=15;
    var markers = new OpenLayers.Layer.Markers( "Markers" );
    map.addLayer(markers);
   
    markers.addMarker(new OpenLayers.Marker(lonLat));
       

    map.setCenter (lonLat, zoom);
  </script>
  </body>
</html>

Offline

#4 2017-08-03 19:22:01

klemens_tirol
Member
Registered: 2017-08-02
Posts: 5

Re: opentopomap

...

Last edited by klemens_tirol (2017-08-03 21:33:36)

Offline

#5 2017-08-04 11:59:21

maxbe
Member
Registered: 2010-01-19
Posts: 3,255
Website

Re: opentopomap

Probiers mal mit "OpenLayers.Layer.XYZ()" statt "OpenLayers.Layer.OSM()", woran es bei ...OSM() liegt, weiss ich aber nicht:

 map.addLayer(new OpenLayers.Layer.XYZ("OpenTopoMap",
                                       ["https://a.tile.opentopomap.org/${z}/${x}/${y}.png",
                                        "https://b.tile.opentopomap.org/${z}/${x}/${y}.png",
                                        "https://c.tile.opentopomap.org/${z}/${x}/${y}.png"],
                                        {sphericalMercator: true,
                                         attribution: 'Kartendaten: <a href=//openstreetmap.org/copyright>OpenStreetMap</a>-Mitwirkende, SRTM | Kartendarstellung: <a href=//opentopomap.org>OpenTopoMap (CC-BY-SA)</a>',
                                         numZoomLevels:18
                                         }));

(hier zum ansehen und abschreiben)

Das https hab ich auch noch eingebaut. Ginge auch mit https aber die OTM macht sowieso eine Umleitung nach https.

Grüße
   Max

PS: Wegen "Alarm-Monitor einer Blaulichtorganisation": Du hast gelesen "Außerdem kann keinerlei Ausfallsicherheit garantiert werden.". Das ist nicht nur eine Klausel im Kleingedruckten, Ausfälle sind harte Realität wink

Last edited by maxbe (2017-08-04 12:20:25)

Offline

#6 2017-08-05 02:19:29

klemens_tirol
Member
Registered: 2017-08-02
Posts: 5

Re: opentopomap

Danke Max, funktioniert!

Ja die fehlende Ausfallsicherheit kann sicherlich zum Problem werden, mal überlegen...

LG

Offline

#7 2017-08-05 03:13:22

klemens_tirol
Member
Registered: 2017-08-02
Posts: 5

Re: opentopomap

basemap.at wäre eine gute Alternative...

Hat damit jemand Erfahrung? Weiß jemand wie ich das in meinen Quelltext einbaue?

Finde nur JS-Anleitungen...

Offline

Board footer

Powered by FluxBB