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 2013-11-27 11:31:05

aj1
Member
Registered: 2013-11-27
Posts: 5

WMS und GeoRSS auf mobilen Geräten funtionieren nicht wie gewünscht.

Hallo!

Ich habe auf einer Karte (OpenStreetMap) einen Punktlayer (GeoRSS).
Die Punkte werden durch Marker dargestellt, bei cklick öffnet sich ein Popup mit weiteren Informationen.
Weiters einen Linienlayer (WMS), bei click auf die Linie öffnet sich ein Fenster mit weiteren Informationen.
Funktioniert auf PC's wunderbar.
Testet man jedoch diese Karte mit mobilen Geräten (Andriod Tablets, Android Smartphones oder IPad) wird die Karte wie gewünscht angezeigt, jedoch passiert per touch auf die Marker bzw. auf die Linie nichts mehr.
Auch das anschließen einer Maus am Android Tablet brachte Nichts.

Kann mir jemand weiterhelfen?

Offline

#2 2013-11-27 12:11:27

SammysHP
Member
From: Celle, Germany
Registered: 2012-02-27
Posts: 1,707
Website

Re: WMS und GeoRSS auf mobilen Geräten funtionieren nicht wie gewünscht.

aj1 wrote:

Kann mir jemand weiterhelfen?

Nein, weil du uns nicht sagst, wie du es machst. Den Code (und idealerweise eine URL zum Testen) müsstest du uns schon zeigen.

Offline

#3 2013-11-27 13:10:06

aj1
Member
Registered: 2013-11-27
Posts: 5

Re: WMS und GeoRSS auf mobilen Geräten funtionieren nicht wie gewünscht.

Vielen Dank für das Interesse.

Die Karte soll eine Orientierungshilfe für die freiwillige Feuerwehr werden.
Die Daten und der Webspace wird uns von einer Firma kostenfrei zur Verfügung gestellt.
Leider könnt Ihr die wms-Layer nicht einblenden, da der PostGis-Server eine Authentivizierung erfordert.

Hier der Code:

<!DOCTYPE html>
<html >
  <head>
    <title>test</title>
      <style type="text/css">
      html, body, #map1 {
          width: 100%;
          height: 100%;
          margin: 0;
      }
      div.auswahl{font-family:Arial, Helvetica, sans-serif; font-size:24px}
    </style>
    <script type="text/javascript" src="http://www.gis4you.at/georss/OpenLayers/OpenLayers.js"></script>
    <script type="text/javascript">

var map_1;

var fromProjection = new OpenLayers.Projection("EPSG:4326");
var toProjection = new OpenLayers.Projection("EPSG:900913");
var bbox = new OpenLayers.Bounds(14.60, 46.67, 14.80, 46.80).transform(fromProjection, toProjection);
var lonLat = new OpenLayers.LonLat(14.75, 46.72).transform(fromProjection, toProjection);

var zoom=13;
var auswahl="Haltung";
var db = "awv_geo-line.map";

function init() {

  map_1 = new OpenLayers.Map(
    'map1',
    {
      allOverlays: true,
      projection : 'EPSG:4326',
      displayProjection : 'EPSG:4326',
      maxExtent: bbox,
      restrictedExtent: bbox,
      center: lonLat
    }
  );

  var mapnik = new OpenLayers.Layer.OSM();//Openstreetmap

  var size = new OpenLayers.Size(31,50); 
  var offset = new OpenLayers.Pixel(-(size.w/2), -size.h); 
  var Mymarker = new OpenLayers.Icon("http://www.gis4you.at/geoRSS/marker/markerblue.png", size, offset);
  var georss = new OpenLayers.Layer.GeoRSS("GeoRSS", "http://www.gis4you.at/georss/hydranten_rss20.xml", {'icon':Mymarker});

//*** Wasser ***
  var wasser = new OpenLayers.Layer.WMS(
    'Wasser',
    'http://www.gis4you.at/cgi-bin/mapserv.exe',
    {
      map: '/ms4w/Apache/htdocs/maps/awv_geo-line.map',
      layers: 'Einbauten,' + 'Hydrant,' + 'Sonstige Bauwerke,' + 'Speicher,' + 'Bauwerke Flaechen,' + 'Leitung', format: 'image/png', transparent: "true",
    },
    {
      singleTile: true,
      isBaseLayer: false,
      visibility: false
    }
  );
 
//*** Kanal ***
  var kanal = new OpenLayers.Layer.WMS(
    'Kanal',
    'http://www.gis4you.at/cgi-bin/mapserv.exe',
    {
      map: '/ms4w/Apache/htdocs/maps/awv_geo-line.map',
      layers: 'Schacht,' + 'Haltung,' + 'Hausanschluss,' + 'Fliessrichtung,' + 'Sonderbauwerk', format: 'image/png', transparent: "true",
    },
    {
      singleTile: true,
      isBaseLayer: false,
      visibility: false
    }
  );

  map_1.addLayers([mapnik, wasser, kanal, georss]);
  map_1.addControl( new OpenLayers.Control.MousePosition() );
  map_1.addControl( new OpenLayers.Control.LayerSwitcher() );
  map_1.addControl( new OpenLayers.Control.ScaleLine() );
  map_1.addControl(new OpenLayers.Control.KeyboardDefaults() );

  map_1.setCenter (lonLat, zoom);


// Tie click event to WMS GetFeatureInfo call        
map_1.events.register('click', map_1, function (e) {
    var aufruf = "http://www.gis4you.at/cgi-bin/mapserv.exe?map=/ms4w/Apache/htdocs/maps/"+db
      + "&REQUEST=GetFeatureInfo"
      + "&BBOX=" + map_1.getExtent().toBBOX()
      + "&X=" + e.xy.x
      + "&Y=" + e.xy.y
      + "&INFO_FORMAT=text/html"
      + "&QUERY_LAYERS="+auswahl
      + "&LAYERS="+auswahl
      + "&VERSION=1.1.1"
      + "&SRS=EPSG:900913"
      + "&WIDTH=" + map_1.size.w
      + "&HEIGHT=" + map_1.size.h;

    Haltung=window.open(aufruf,
      "Haltung",
      "location=0,status=0,toolbar=0,menubar=0,scrollbars=1,width=500,height=100, left=10, top=10"
    );
    Haltung.focus();
  });

} // init

  function radioEvent(value) 
  { //alert(value);
    switch (value) {
      case "Schacht": db="awv_geo-line.map"; break;
      case "Haltung": db="awv_geo-line.map"; break; 
    }
   auswahl = value;
  }

    </script>
  </head>
  <body onload="init();">

  <div id="ausw" align="right" class="auswahl">

    <form>
      Aktiver Layer für Info:   
      <input type="radio" name="Auswahlradio" value="Schacht" onclick="radioEvent(value);"> Schacht &nbsp;
      <input type="radio" name="Auswahlradio" value="Haltung" onclick="radioEvent(value);" checked="checked"> Haltung &nbsp;
      &nbsp;
    </form>

  </div>
  <div id="map1"></div>
  </body>
</html>


http://www.gis4you.at/geoRSS/test_wms_georss.html

Offline

#4 2013-11-27 13:38:05

gormo
Member
Registered: 2013-08-01
Posts: 2,119
Website

Re: WMS und GeoRSS auf mobilen Geräten funtionieren nicht wie gewünscht.

Machst du das vielleicht mit einem CSS, das nur bei großen Monitoren erscheint?


OSM hat nicht das Ziel bis Ende des Monats einen vollständigen Datensatz der Welt zu enthalten.
(nach S.W.) - Aber weil die Welt vielfältig ist, weil sie auch im Detail interessant ist, mag ich genaue Karten (nach C.)

Offline

#5 2013-11-27 13:41:19

aj1
Member
Registered: 2013-11-27
Posts: 5

Re: WMS und GeoRSS auf mobilen Geräten funtionieren nicht wie gewünscht.

Verwende kein CSS.
Die Karte wird korrekt dargestellt, lediglich die clicks funktionieren auf mobilen Geräten nicht.

Offline

#6 2013-11-27 15:02:38

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,769
Website

Re: WMS und GeoRSS auf mobilen Geräten funtionieren nicht wie gewünscht.

leicht OT: Wollt ihr die Sache draussen bei Einsätzen verwenden oder nur in der Zentrale (wegen der mobilen Geräte)?

Das ist ja eine Online-Karte, die auch schon mal Offline sein kann. Ich würde dann soviel wie möglich auf das mobile Endgerät legen, angefangen bei OpenLayers.js, den Tiles der Umgebung  bis zu den  Hydranten und ähnliche relevante Daten.

Gruss
walter, bei dem es auch schon mal gebrannt hat.

Last edited by wambacher (2013-11-27 15:04:31)

Offline

#7 2013-11-27 15:44:41

aj1
Member
Registered: 2013-11-27
Posts: 5

Re: WMS und GeoRSS auf mobilen Geräten funtionieren nicht wie gewünscht.

Hi,

die Sache soll auch draussen bei Einsätzen bzw. auf der Fahrt zum Einsatzort in Verwendung sein.
Das mit dem lokalen speichern der Daten ist sicher eine Überlegung Wert, vielen Dank für die Anregung Walter.
Wir sind momentan noch in der ersten Testphase, mal sehen ob wir es hinbekommen.

ciao,
ALFi

Offline

#8 2013-11-29 08:17:56

aj1
Member
Registered: 2013-11-27
Posts: 5

Re: WMS und GeoRSS auf mobilen Geräten funtionieren nicht wie gewünscht.

Hi,

ich habe herausgefunden, daß die touch und click events am OL-Version 1.12 nicht mehr funktionieren.
Bei äteren Versionen funktioniert click und touch, dafür verursacht zoom und pan Probleme.

Ich habe einfach zwei event Listener eingebaut und es funktioniert smile

// Touch click event to WMS GetFeatureInfo call       
map_1.events.register('touchend', map_1, function (e) {...

// Desktop click event to WMS GetFeatureInfo call       
map_1.events.register('click', map_1, function (e) {...

Offline

Board footer

Powered by FluxBB