Ich habe an einem Projekt mit OpenLayers und jquery Mobile gearbeitet. Wenn ich den Code schreibe, der ohne Jquery Mobile läuft, funktioniert OpenLayers perfekt. Das Problem kommt, wenn ich sie zusammenstelle. Die Karte wird nie geladen. Was mache ich falsch? Gibt es etwas, das ich berücksichtigen muss, dass ich vermisse? HierOpenlayers 2.11 und Jquery Mobile 1.0.1 arbeiten nicht zusammen
ist der Code, den ich schrieb:
<html>
<head>
<meta name="viewport" content="width=320; user-scalable=no" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>ISEC App</title>
<link rel="stylesheet" href="jquery.mobile/jquery.mobile-1.0.1.min.css" />
<link rel="stylesheet" href="index.css" />
<script src="jquery.mobile/jquery-1.6.4.min"></script>
<!-- If I comment this line, everything works fine -->
<script src="jquery.mobile/jquery.mobile-1.0.1.min.js"></script>
<script type="text/javascript" charset="utf-8" src="phonegap-1.4.1.js"> </script>
<script type="text/javascript" src="barcodescanner.js"></script>
<script type="text/javascript" charset="utf-8" src="index.js"></script>
<script type="text/javascript" src="OpenLayers.js"></script>
<script type="text/javascript" src="lib/mapa.js"></script>
</head>
<body>
<div style="width:100%; height:100%" id="mapas"></div>
<script defer="defer" type="text/javascript">
var mapa = new OpenLayers.Map('mapas');
var wms = new OpenLayers.Layer.OSM(
"Isec", "http://www.isec.com.co/osm/tiles/z${z}/ln${x}/lt${y}.png",
{numZoomLevels: 18}
);
mapa.addLayer(wms);
mapa.setCenter(lonLatT(-74.1185,4.6867), 14);
alert("*/*/*");
function lonLatT(lon, lat){
return new OpenLayers.LonLat(lon,lat).transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"));
}
</script>
</body>
<html>
Wenn ich den Verweis auf die jquery.mobile entfernen JavaScript-Datei, es funktioniert. Ich verstehe nicht, warum es so funktioniert. Irgendwelche Ideen?
Danke Codaniel. Ich habe den Code neu geschrieben und neu organisiert, wie Sie vorgeschlagen haben, aber ich sehe die Karte immer noch nicht. Ich kann die Nachricht der Alarmfunktion sehen, aber keine Karte. Wenn die jquery-mobile Bibliothek nicht enthalten ist, wird die Karte geladen, aber ich bekomme nicht das nette Aussehen und Gefühl. Gibt es Kompatibilitätsprobleme mit jQuery-mobile und OpenLayers, die mir nicht bekannt sind? Was könnte ich noch tun? – user1296685
Hmm vielleicht ist es ein Konflikt. Ich bin mir nicht wirklich sicher. Ich habe nicht viel Erfahrung mit offenen Schichten. – codaniel