2014-09-23 85 views
1

你好,我试图实现一个标记到openstreetstreetmap,它显示萤火虫错误为ReferenceError: OpenLayers is not defined。这里是我已经实施的代码:ReferenceError:OpenLayers没有在openstreetmap中定义

<script> 
    map = new OpenLayers.Map("map", { 
     projection: "EPSG:900913", 
     displayProjection: "EPSG:4326" 
    }); 
    map.addLayer(new OpenLayers.Layer.OSM()); 
    var markers = new 
    OpenLayers.Layer.Text("text", {location: "<?php echo $root_url; ?>"+"/marker_a.png", projection: map.displayProjection}); 
    map.addLayer(markers); 
    map.zoomToMaxExtent(); 
</script> 
<body> 
    <iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://www.openstreetmap.org/export/embed.html?bbox=77.4471,12.8607,77.7664,13.0728&layer=mapnik" style="border: 1px solid black"></iframe> 
    <br /> 
    <small> 
     <a href="http://www.openstreetmap.org/?lat=12.96675&lon=77.60675&zoom=14&layers=M">View Larger Map</a> 
    </small> 
</body> 

在此先感谢。

+1

嗨我得到这一个我所使用的代码是在这里 – 2014-09-30 10:43:04

+0

“图像=解 “” + “/marker_a.png”; var size = new OpenLayers.Size(21,25); var offset = new OpenLayers.Pixel( - (size.w/2),-size.h); var icon1 = new OpenLayers.Icon(image,size,offset); var lonLat1 = new OpenLayers.LonLat(res [2],res [1])。transform( new OpenLayers.Projection(“EPSG:4326”),//从WGS 1984转换 map.getProjectionObject()// to球面墨卡托投影 ); var marker1 =新的OpenLayers.Marker(lonLat1,icon1); var marker1 = new OpenLayers.Marker(lonLat1,icon1); marker1.icon.size = size; marker1.icon.offset = offset; markers.addMarker(marker1,icon1); – 2014-09-30 10:47:05

+0

如果你已经设法解决你的问题,请张贴您的解决方案作为答案(这是积极的鼓励!):) – kwah 2014-12-12 09:49:58

回答

0
<script> 
image = "<?php echo $root_url; ?>" + "/marker_a.png"; 
var size = new OpenLayers.Size(21,25); 
var offset = new OpenLayers.Pixel(-(size.w/2), -size.h); 
var icon1 = new OpenLayers.Icon(image, size, offset); 
var lonLat1 = new OpenLayers.LonLat(res[2],res[1]).transform(new `OpenLayers.Projection("EPSG:4326"), 
map.getProjectionObject()); 
var marker1 = new OpenLayers.Marker(lonLat1, icon1); 
marker1.icon.size = size; 
marker1.icon.offset = offset; 
markers.addMarker(marker1, icon1); 
</script>