2014-04-11 2 views
0

내 웹 사이트에 OpenStreetMaps가 포함되어 있습니다. OpenLayers를 사용하여 Geometry.Point를 도시 위에 놓습니다.OpenLayers 포인트 기하 도형의 크기가 변경되지 않습니다

버튼을 사용하면이 지점의 크기를 조정할 수 있지만 크기는 조정되지 않으며 이유를 이해할 수 없습니다.

var button = document.myform.btClear, 
    map = new OpenLayers.Map("map_element", {}), 
    osm = new OpenLayers.Layer.OSM(), 
    vectors = new OpenLayers.Layer.Vector(), 
    fromProjection = new OpenLayers.Projection("EPSG:4326"), 
    toProjection = new OpenLayers.Projection("EPSG:900913"), 
    position = new OpenLayers.LonLat(6.9673223,50.9572449).transform(fromProjection, toProjection), 
    point = new OpenLayers.Geometry.Point(6.9673223,50.9572449).transform(fromProjection, toProjection); 

map.addLayer(osm); 
map.addLayer(vectors); 
map.setCenter(position, 5); 

pointFeature = new OpenLayers.Feature.Vector(point); 
vectors.addFeatures([pointFeature]); 

button.onclick = function() { 
    vectors.features[0].geometry.resize(1.5, point); 
    vectors.redraw(); 
}; 

당신이 내가 그것을 알아 내기 위해 도울 수있다 : 여기

내 코드?

감사

http://jsfiddle.net/39KE5/1/

답변

0

나는 많은 OpenLayers와 협력, 그래서 소금 곡식 여기 모든을하지 않았습니다. 이 예제 (http://dev.openlayers.org/releases/OpenLayers-2.12/examples/resize-features.html)를보고 있었는데, 기하학적 크기 조정이 의도 한 것과 다른 것을 수행한다고 생각합니다. 나는 당신이 정말로 바꾸고 싶은 것이 그 요지의 스타일이라고 생각합니다. http://jsfiddle.net/MLundin617/39KE5/2/에서 예를 들어 피들을 수정했습니다. 클릭이 포인트의 색상을 변경하는 것처럼 처리되기 때문에 완벽하지는 않습니다. 그러나 내가 찾는 것이 더 가깝다고 생각합니다.

이것은 큰 변화입니다 : (. 또한, 당신의 jsFiddle, 당신은 잘못된 폼 요소를 참조하고, 그래서 onclick을 정의 할 수없는)

radius = 2 
button.onclick = function() { 
    radius = radius * 1.5 
    vectors.features[0].style = {pointRadius: radius} 
    vectors.redraw(); 
}; 

나를 알고하자 도움이됩니다. 다른 답변도보기를 호기심.

+0

예에서 지점의 크기는 실제로 변경되지 않습니다. – MikeTheReader

관련 문제