簡體   English   中英

Openlayers標記大小

[英]Openlayers marker size

我有一個openlayers地圖,其中添加了作為幾何矢量點的標記。 在樣式選項中,我為每個設置大小。 但是,問題是,如果我放大或縮小,它們的大小都將相同,直到再次加載整個頁面為止。 換句話說,一旦我放大或縮小,它們都是一樣的。

var layer_style = OpenLayers.Util.extend({},
OpenLayers.Feature.Vector.style['default']);
var style = OpenLayers.Util.extend({}, layer_style);

var pointLayer = new OpenLayers.Layer.Vector("Point Layer");

map.addLayers([terrain, road, satellite, hybrid, pointLayer]);
var lonlat = new OpenLayers.LonLat(0, 140);
lonlat.transform(proj, map.getProjectionObject());
map.setCenter(lonlat, 2);

var point = new OpenLayers.Geometry.Point(-40, -40);
point = point.transform(proj, map.getProjectionObject());
style.pointRadius = 10;
var pointFeature = new OpenLayers.Feature.Vector(point, null, style);
pointLayer.addFeatures([pointFeature]);

var point = new OpenLayers.Geometry.Point(-40, -40);
point = point.transform(proj, map.getProjectionObject());
style.pointRadius = 40;
var pointFeature = new OpenLayers.Feature.Vector(point, null, style);
pointLayer.addFeatures([pointFeature]);

加載時,我得到兩個標記,一個標記為10,另一個標記為40。但是當我放大或縮小時,它們都變成相同的大小。

您每次都會覆蓋樣式對象的pointRadius屬性,因此最后將使用最后一個值,因為OpenLayers僅指向樣式。 您需要做的是使用查找使pointRadius依賴於給定的要素屬性。 請參閱基於規則的樣式: http//trac.osgeo.org/openlayers/wiki/Styles#Rule-basedStyling

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM