2014-12-18 3 views
0

Я работаю с OpenLayers, и мне нужно вставить собственное изображение, но оно не работает.Показать изображение с OpenLayers

что не так?

В картах Google, используйте этот код и изображение перекрывается почти идеально:

var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); 
var swBound = new google.maps.LatLng(41.807477973187, -9.29843840238272); 
var neBound = new google.maps.LatLng(43.789966775677, -6.73165522322293); 
var bounds = new google.maps.LatLngBounds(swBound, neBound); 

Это мой OpenLayers код:

<!DOCTYPE HTML> 
<html> 
<head> 
<title>OpenLayers Basic Example</title> 

<script src="http://www.openlayers.org/api/OpenLayers.js"></script> 
<script> 
function init() { 
map = new OpenLayers.Map("mapdiv"); 
var mapnik = new OpenLayers.Layer.OSM(); 
map.addLayer(mapnik); 

var lonlat = new OpenLayers.LonLat(-7.788, 42.571).transform(
new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984 
new OpenLayers.Projection("EPSG:900913") // to Spherical Mercator 
); 

var zoom = 4; 


var lonlat2 = new OpenLayers.LonLat(-9.878756, 43.656717).transform(
new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984 
new OpenLayers.Projection("EPSG:900913") // to Spherical Mercator 
); 


var lonlat3 = new OpenLayers.LonLat(-6.369852, 41.656717).transform(
new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984 
new OpenLayers.Projection("EPSG:900913") // to Spherical Mercator 
); 


var graphic = new OpenLayers.Layer.Image(
'Prueba', 
'http://.........prueba/mapa1.png', 
new OpenLayers.Bounds(lonlat2,lonlat3), 
new OpenLayers.Size(570, 600), 
{isBaseLayer: false} 
); 
map.addLayer(graphic); 
map.setCenter(lonlat, zoom);  
} 
</script> 

<style> 
#mapdiv { width:800px; height:800px; } 
div.olControlAttribution { bottom:3px; } 
</style> 

</head> 

<body onload="init();"> 
<p>My HTML page with an embedded map</p> 
<div id="mapdiv"></div> 
</body> 
</html> 
+0

Вы a говорить о слое карты изображения или изображении в качестве символов маркера или изображений во всплывающих окнах? Я предполагаю сначала один, поэтому плз. сравните этот пример OL3 http://openlayers.org/en/master/examples/static-image.html – MaM

ответ

0

Вы не можете создать OpenLayers.Bounds из двух OpenLayer.LonLat, но они должны построить его от четырех цифр, описывающих левое, нижнее, правое, верхние:

[...] 
new OpenLayers.Bounds(lonlat2.lon, lonlat3.lat, lonlat3.lon, lonlat2.lat), 
[...] 
Смежные вопросы