openlayers加载svg_OpenLayers学习笔记(五)— 拖拽Feature图层

Icon Symbolizer

position: relative;

}

#popup {

cursor: pointer;

}

var coord1 = [-5707673.76, -3499420.81];var coord2 = [-6707673.76, -3499420.81];var lineStyle = newol.style.Style({

stroke:newol.style.Stroke({

color:'#ffcc33',

width:3,

lineDash:[10,10]

})

});var styleMarker = newol.style.Style({

image:newol.style.Icon({

scale: .7, anchor: [0.5, 1],

src:'marker.png'})

});var marker1 = newol.geom.Point(coord1);var featureMarker1 = newol.Feature(marker1);var marker2 = newol.geom.Point(coord2);var featureMarker2 = newol.Feature(marker2);var line = newol.geom.LineString([coord1, coord2]);var lineFeature = newol.Feature(line);var vector = newol.layer.Vector({

source:newol.source.Vector({

features: [lineFeature, featureMarker1, featureMarker2]

}),

style: [lineStyle, styleMarker]

});var map = newol.Map({

target:'map',

layers: [new ol.layer.Tile({ source: newol.source.OSM() }), vector],

view:new ol.View({ center: coord1, zoom: 5})

});var translate1 = newol.interaction.Translate({

features:newol.Collection([featureMarker1])

});var translate2 = newol.interaction.Translate({

features:newol.Collection([featureMarker2])

});

map.addInteraction(translate1);

map.addInteraction(translate2);varcoordMarker1, coordMarker2;

translate1.on('translatestart', function(evt) {

coordMarker2=marker2.getCoordinates();

});

translate1.on('translating', function(evt) {

line.setCoordinates([coordMarker2, evt.coordinate]);

});

translate2.on('translatestart', function(evt) {

coordMarker1=marker1.getCoordinates();

});

translate2.on('translating', function(evt) {

line.setCoordinates([coordMarker1, evt.coordinate]);

});

map.on('pointermove', function(e) {if (e.dragging) return;var hit =map.hasFeatureAtPixel(map.getEventPixel(e.originalEvent));

map.getTargetElement().style.cursor= hit ? 'pointer' : '';

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值