Bonjour à tous,
Je cherche à inclure une carte osm dans une interface développée en QT.
Je parviens à afficher une carte en générant le javascript suivant :
<HTML style="HEIGHT: 100%">
<html>
<body>
<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
<div id="map"></div>
<script type=text/javascript>
map = new OpenLayers.Map(("map"));
map.addLayer(new OpenLayers.Layer.OSM());
var lonLat = new OpenLayers.LonLat( -0.644722 ,44.843056 ).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
var zoom=16;
map.setCenter (lonLat, zoom);
</script>
</body>
</html>
Je précise que la création de la carte avec document.getElementById ne permet pas d’afficher la carte (dans mon cas).
Malheureusement, j’ai un problème de rafraichissement de carte. Par exemple, dans le code suivant, la seconde partie affichant une autre position est :
- soit pas prise en compte (si j’utilise document.getElementById) pour la création de la carte osm ;
- soit affichée en dessous de la carte précédente si j’enlève document.getElementById.
<HTML style="HEIGHT: 100%" >
<html>
<body>
<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
<div id="map"></div>
<script type=text/javascript>
map = new OpenLayers.Map(("map")); //map = new OpenLayers.Map("mapdiv");
map.addLayer(new OpenLayers.Layer.OSM());
var lonLat = new OpenLayers.LonLat( -0.644722 ,44.843056 ).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
var zoom=16;
map.setCenter (lonLat, zoom);
map1 = new OpenLayers.Map(document.getElementById("map"));
map1.addLayer(new OpenLayers.Layer.OSM());
var lonLat = new OpenLayers.LonLat( -0.644722 ,44.943056 ).transform(new OpenLayers.Projection("EPSG:4326"),map1.getProjectionObject());
map1.setCenter (lonLat, 10);
</script>
</body>
</html>
Si quelqu’un voit le problème (de l’utilisation de document.getElementById certainement), merci de me le faire savoir.
Fred