[英]OpenLayers is not adding marker to my map
我有一个OpenLayers映射,并且使用JavaScript函数创建了它。 然后,我有一个按钮,当按下该按钮时,它将调用另一个JavaScript函数,该函数具有向地图添加标记的代码。
由于某种原因,未添加标记。
OpenLayers地图创建代码:
function init()
{
var map, baseLayer;
var options = {numZoomLevels: 5, isBaseLayer: true,};
map = new OpenLayers.Map('map');
baseLayer = new OpenLayers.Layer.Image("My map","map.png",
new OpenLayers.Bounds(-2000, -2000, 1000, 1000),
new OpenLayers.Size(1500,1500), options);
map.addLayer(baseLayer);
var center = new OpenLayers.LonLat(-100,-100);
map.setCenter(center ,0);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.addControl(new OpenLayers.Control.MousePosition());
var size = new OpenLayers.Size(21,25);
var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
var icon = new OpenLayers.Icon('http://www.openlayers.org/dev/img/marker.png',size,offset);
var markers = new OpenLayers.Layer.Markers( "Marker" );
map.addLayer(markers);
}
添加标记的代码:
function addMarker(x, y)
{
markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(x, y),icon));
}
任何帮助深表感谢 :)
这对我来说很好:
var markers,icon;
function init(){
var map, baseLayer;
var options = {numZoomLevels: 5, isBaseLayer: true,};
map = new OpenLayers.Map('map');
baseLayer = new OpenLayers.Layer.Image("My map","map.png",
new OpenLayers.Bounds(-2000, -2000, 1000, 1000),
new OpenLayers.Size(1500,1500), options);
map.addLayer(baseLayer);
var center = new OpenLayers.LonLat(-100,-100);
map.setCenter(center ,0);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.addControl(new OpenLayers.Control.MousePosition());
var size = new OpenLayers.Size(21,25);
var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
//instance the icon
icon = new OpenLayers.Icon('http://www.openlayers.org/dev/img/marker.png',size,offset);
//instance the marker layer
markers = new OpenLayers.Layer.Markers( "Marker" );
map.addLayer(markers);
}
function addMarker(x, y){
markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(x, y),icon));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.