OpenLayers.Layer.Markers有问题-地图上只显示最后添加的标记 函数初始化映射(){ var映射,层; map=newOpenLayers.map('map'); 层=新的OpenLayers.layer.WMS(“OpenLayers WMS”, "http://vmap0.tiles.osgeo.org/wms/vmap0“,{层:'基本'}); map.addLayer(层); 地图设置中心(新OpenLayers.LonLat(43.5,40),10); var size=新的OpenLayers.size(21,25); var偏移=新的OpenLayers.Pixel(-(大小为w/2),-size.h); var icon=新的OpenLayers.icon('http://www.openlayers.org/dev/img/marker.png,大小,偏移量); var markers=新的OpenLayers.Layer.markers(“对象”); addControl(新的OpenLayers.Control.LayerSwitcher()); 添加图层(标记); $.ajax({ 键入:“获取”, url:“/rest/displaymap/getMarkers/”, 数据类型:“json”, 错误:函数(){ console.log('检索数据失败'); }, 成功:功能(d){ 控制台日志(d); var i; 对于(i=0;i
,在本例中应使用icon.clone()。在本例中,它是这样写的: 请注意,如果将图标传递到标记构造函数中,它将获取该图标并使用它。这意味着您不应在标记之间共享图标——您只需使用一次,但应克隆()以获得使用该图标的任何其他标记OpenLayers.Layer.Markers有问题-地图上只显示最后添加的标记 函数初始化映射(){ var映射,层; map=newOpenLayers.map('map'); 层=新的OpenLayers.layer.WMS(“OpenLayers WMS”, "http://vmap0.tiles.osgeo.org/wms/vmap0“,{层:'基本'}); map.addLayer(层); 地图设置中心(新OpenLayers.LonLat(43.5,40),10); var size=新的OpenLayers.size(21,25); var偏移=新的OpenLayers.Pixel(-(大小为w/2),-size.h); var icon=新的OpenLayers.icon('http://www.openlayers.org/dev/img/marker.png,大小,偏移量); var markers=新的OpenLayers.Layer.markers(“对象”); addControl(新的OpenLayers.Control.LayerSwitcher()); 添加图层(标记); $.ajax({ 键入:“获取”, url:“/rest/displaymap/getMarkers/”, 数据类型:“json”, 错误:函数(){ console.log('检索数据失败'); }, 成功:功能(d){ 控制台日志(d); var i; 对于(i=0;i,openlayers,marker,markers,Openlayers,Marker,Markers,,在本例中应使用icon.clone()。在本例中,它是这样写的: 请注意,如果将图标传递到标记构造函数中,它将获取该图标并使用它。这意味着您不应在标记之间共享图标——您只需使用一次,但应克隆()以获得使用该图标的任何其他标记 function init_map() { var map, layer; map = new OpenLayers.Map('map'); layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
function init_map() {
var map, layer;
map = new OpenLayers.Map('map');
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://vmap0.tiles.osgeo.org/wms/vmap0", {layers: 'basic'} );
map.addLayer(layer);
map.setCenter(new OpenLayers.LonLat(43.5, 40), 10);
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("Objects");
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.addLayer(markers);
$.ajax({
type: "GET",
url: "/rest/displaymap/getMarkers/",
dataType: "json",
error: function() {
console.log('failed to retrieve data');
},
success: function(d) {
console.log(d);
var i;
for(i=0; i<d.length; i++) {
var mrk = new OpenLayers.Marker(new OpenLayers.LonLat(d[i]['objectLon'],d[i]['objectLat']), icon);
markers.addMarker(mrk);
}
}
});
}