항상 밝은 오렌지색의 기본 정다각형을 보지 않으려면 OpenLayers 스타일을 배우려고합니다. 내가 그리기 완료했습니다, 그리고 밝은 오렌지에서 스냅 보는 것은 회색 일단 내 스타일에만 적용됩니다,OpenLayers 스타일에 문제가 있습니다.
var layer_style = OpenLayers.Util.extend({},OpenLayers.Feature.Vector.style['default']);
layer_style.fillColor = "#000000";
layer_style.strokeColor = "#000000";
polygonLayer = new OpenLayers.Layer.Vector("PolygonLayer");
polygonLayer.style = layer_style;
그러나 사인 내가 DrawFeature 내 다각형 그리기 오전 :
나는 몇 가지 성공 했어 당황 스럽네. 그래서, 임시 스타일에 대해 배우고, 시도 :
var layer_style = new OpenLayers.Style({"default": {fillColor: "#000000"}, "temporary": {fillColor: "#000000"}})
polygonLayer = new OpenLayers.Layer.Vector("PolygonLayer");
polygonLayer.style = layer_style;
이
은 나에게 여전히 오렌지 광장을 가지고 - 나는 완전히 불투명 한 검은 색으로 스냅 할 때, 그리기 중지 될 때까지. 필자가 명시 적으로 fillOpacity ... no dice를 설정해야한다고 생각했습니다. 두 채우기 색상을 모두 분홍색과 파란색으로 바꿨을 때도 오렌지와 불투명 한 검정색 만 보았습니다.스타일 맵에 하나의 스타일 만 추가하면 임시 스타일을 포함하여 모든 것을 기본값으로 사용한다는 것을 읽었으므로 StyleMaps를 망쳐 놓으 려했습니다.
var layer_style = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']);
var style_map = new OpenLayers.StyleMap(layer_style);
polygonLayer = new OpenLayers.Layer.Vector("PolygonLayer");
polygonLayer.style = style_map;
저도 검은 색 불투명 한 사각형을 가졌습니다. (지도에 지정되지 않은 경우 해당 레이어 스타일이 작동 함에도 불구하고). 다음과 같이 레이어 자체에지도를 전달합니다.
polygonLayer = new OpenLayers.Layer.Vector("PolygonLayer", style_map);
아무 것도 가져 오지 않았습니다. 그려진 후에도 오렌지는 줄곧 있습니다.
polygonLayer = new OpenLayers.Layer.Vector("PolygonLayer", {styleMap: style_map});
그려지는 동안 오렌지색, 반투명 검정색 및 검은 색 윤곽선이 더 성공적입니다. 내가지도를 사용하지 않았을 때처럼. ... 어느
var style_map = new OpenLayers.StyleMap({"default": layer_style, "temporary": layer_style});
없음 불투명 광장, 그러나 임시 없음 주사위 검은 색에 여전히 오렌지 스냅 : 문제는 내지도 이런 식으로 초기화 시도, 그래서 여전히 더 일시적 ...
없다 투명한. 비록 새로운 스타일 (layer_style2)을 만들고 임시로 설정해도 여전히 운이 없다. 그리고 "선택"스타일을 설정하는데도 아무런 운이 없습니다.
내가 뭘 잘못하고 있니? 현재 스케치되고있는 것들을 스타일링하기위한 임시 IS는 맞습니까? drawFeature 컨트롤러에 특정한 다른 방법이 있습니까?
편집 : extendDefault이 사실로 설정 중 ...
var style_map = new OpenLayers.StyleMap({"default": layer_style, "temporary": layer_style}, {"extendDefault": "true"});
당신은 선생님입니다. 이것은 나를 미치게했다! drawFeature에 대한 핸들러 옵션을 파고 들었을 때, 나는 전달할 수있는 "스타일"을 보지 못했습니다. 그래서 옵션이 아닌 것 같았습니다 ... 내가 아는 전부는 "sides :"옵션입니다 , 심지어 API를 언급 한 곳을 찾을 수 없었습니다. 감사! – Jenny
첫 번째 해결 방법을 사용하면 두 번 클릭하여 최종 다각형을 확인한 다음 스타일을 기본값으로 다시 설정하므로 결국 콜백을 사용하여 스타일을 다시 설정해야합니다. –