2016-08-31 4 views
1

현재 OL3에서 작업 중이며 내지도에 텍스트를 표시하려고합니다. 문제는 없지만 ol.style의 텍스트 속성을 사용하여 표시하고 있습니다.OpenLayers 3 -지도에 텍스트 표시, 확대/축소에 상대적인 텍스트 크기

내 문제는 다음과 같습니다.이 텍스트는 항상 같은 크기입니다. 예 : 최대 화질을 높이거나 최대 화질을 확대하는 경우 화면의 크기는 여전히 동일합니다. 확대/축소하는 동안 커지기를 원하며 텍스트의 크기를지면에 비례하지 않으려면 축소합니다. Expected result

사람이 생각하는 데 있습니다 :

나는 다음과 같은 이미지의 예상 결과를 끌었다? 아마도 ol.style 텍스트를 사용하지 않고 있을까요?

+0

의견 ...? –

답변

2

가는 방법은 a style function입니다. 데모 fiddle을 참조하십시오.

var style = function() { 
    var zoom = map.getView().getZoom(); 
    var font_size = zoom * 10; // arbitrary value 

    return [ 
    new ol.style.Style({ 
     text: new ol.style.Text({ 
     font: font_size + 'px Calibri,sans-serif', 
     fill: new ol.style.Fill({ color: '#000' }), 
     stroke: new ol.style.Stroke({ 
      color: '#fff', width: 2 
     }), 
     text: 'Some text!' 
     }) 
    }) 
    ]; 
}; 
+0

그 일을한다! 고마워! –

+0

@ YoannB 다음 질문을 올바르게 기재하고 마칩니다. –