Add rotation, offsetX and offsetY to vector-labels example
This commit is contained in:
@@ -115,6 +115,13 @@
|
|||||||
<option value="top">Top</option>
|
<option value="top">Top</option>
|
||||||
</select>
|
</select>
|
||||||
<br />
|
<br />
|
||||||
|
<label>Rotation: </label>
|
||||||
|
<select id="points-rotation">
|
||||||
|
<option value="0">0°</option>
|
||||||
|
<option value="0.785398164">45°</option>
|
||||||
|
<option value="1.570796327">90°</option>
|
||||||
|
</select>
|
||||||
|
<br />
|
||||||
<label>Font: </label>
|
<label>Font: </label>
|
||||||
<select id="points-font">
|
<select id="points-font">
|
||||||
<option value="Arial" selected="selected">Arial</option>
|
<option value="Arial" selected="selected">Arial</option>
|
||||||
@@ -132,6 +139,12 @@
|
|||||||
<label>Size: </label>
|
<label>Size: </label>
|
||||||
<input type="text" value="12px" id="points-size" />
|
<input type="text" value="12px" id="points-size" />
|
||||||
<br />
|
<br />
|
||||||
|
<label>Offset X:</label>
|
||||||
|
<input type="text" value="0" id="points-offset-x" />
|
||||||
|
<br />
|
||||||
|
<label>Offset Y:</label>
|
||||||
|
<input type="text" value="0" id="points-offset-y" />
|
||||||
|
<br />
|
||||||
<label>Color :</label>
|
<label>Color :</label>
|
||||||
<input type="text" value="#aa3300" id="points-color" />
|
<input type="text" value="#aa3300" id="points-color" />
|
||||||
<br />
|
<br />
|
||||||
@@ -191,6 +204,13 @@
|
|||||||
<option value="top">Top</option>
|
<option value="top">Top</option>
|
||||||
</select>
|
</select>
|
||||||
<br />
|
<br />
|
||||||
|
<label>Rotation: </label>
|
||||||
|
<select id="lines-rotation">
|
||||||
|
<option value="0">0°</option>
|
||||||
|
<option value="0.785398164">45°</option>
|
||||||
|
<option value="1.570796327">90°</option>
|
||||||
|
</select>
|
||||||
|
<br />
|
||||||
<label>Font: </label>
|
<label>Font: </label>
|
||||||
<select id="lines-font">
|
<select id="lines-font">
|
||||||
<option value="Arial">Arial</option>
|
<option value="Arial">Arial</option>
|
||||||
@@ -208,6 +228,12 @@
|
|||||||
<label>Size: </label>
|
<label>Size: </label>
|
||||||
<input type="text" value="12px" id="lines-size" />
|
<input type="text" value="12px" id="lines-size" />
|
||||||
<br />
|
<br />
|
||||||
|
<label>Offset X:</label>
|
||||||
|
<input type="text" value="0" id="lines-offset-x" />
|
||||||
|
<br />
|
||||||
|
<label>Offset Y:</label>
|
||||||
|
<input type="text" value="0" id="lines-offset-y" />
|
||||||
|
<br />
|
||||||
<label>Color :</label>
|
<label>Color :</label>
|
||||||
<input type="text" value="green" id="lines-color" />
|
<input type="text" value="green" id="lines-color" />
|
||||||
<br />
|
<br />
|
||||||
@@ -267,6 +293,13 @@
|
|||||||
<option value="top">Top</option>
|
<option value="top">Top</option>
|
||||||
</select>
|
</select>
|
||||||
<br />
|
<br />
|
||||||
|
<label>Rotation: </label>
|
||||||
|
<select id="polygons-rotation">
|
||||||
|
<option value="0">0°</option>
|
||||||
|
<option value="0.785398164">45°</option>
|
||||||
|
<option value="1.570796327">90°</option>
|
||||||
|
</select>
|
||||||
|
<br />
|
||||||
<label>Font: </label>
|
<label>Font: </label>
|
||||||
<select id="polygons-font">
|
<select id="polygons-font">
|
||||||
<option value="Arial">Arial</option>
|
<option value="Arial">Arial</option>
|
||||||
@@ -284,6 +317,12 @@
|
|||||||
<label>Size: </label>
|
<label>Size: </label>
|
||||||
<input type="text" value="10px" id="polygons-size" />
|
<input type="text" value="10px" id="polygons-size" />
|
||||||
<br />
|
<br />
|
||||||
|
<label>Offset X:</label>
|
||||||
|
<input type="text" value="0" id="polygons-offset-x" />
|
||||||
|
<br />
|
||||||
|
<label>Offset Y:</label>
|
||||||
|
<input type="text" value="0" id="polygons-offset-y" />
|
||||||
|
<br />
|
||||||
<label>Color :</label>
|
<label>Color :</label>
|
||||||
<input type="text" value="blue" id="polygons-color" />
|
<input type="text" value="blue" id="polygons-color" />
|
||||||
<br />
|
<br />
|
||||||
@@ -304,7 +343,7 @@
|
|||||||
<p id="shortdesc">Example of GeoJSON features with labels.</p>
|
<p id="shortdesc">Example of GeoJSON features with labels.</p>
|
||||||
<div id="docs">
|
<div id="docs">
|
||||||
<p>See the <a href="vector-labels.js" target="_blank">vector-labels.js source</a> to see how this is done.</p>
|
<p>See the <a href="vector-labels.js" target="_blank">vector-labels.js source</a> to see how this is done.</p>
|
||||||
<p><strong>Note:</strong> The 'Text/Wrap' option is currently not working properly. It's supposed to add '\n' to allow multiline labels, but spaces are currently shown instead.</p>
|
<p><strong>Note:</strong> The 'Text/Wrap' option is currently not working properly. This is because ol3 uses Canvas's strokeText and fillText functions that do not support text wrapping.</p>
|
||||||
</div>
|
</div>
|
||||||
<div id="tags">geojson, vector, openstreetmap, label</div>
|
<div id="tags">geojson, vector, openstreetmap, label</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -17,9 +17,12 @@ var myDom = {
|
|||||||
'text': document.getElementById('points-text'),
|
'text': document.getElementById('points-text'),
|
||||||
'align': document.getElementById('points-align'),
|
'align': document.getElementById('points-align'),
|
||||||
'baseline': document.getElementById('points-baseline'),
|
'baseline': document.getElementById('points-baseline'),
|
||||||
|
'rotation': document.getElementById('points-rotation'),
|
||||||
'font': document.getElementById('points-font'),
|
'font': document.getElementById('points-font'),
|
||||||
'weight': document.getElementById('points-weight'),
|
'weight': document.getElementById('points-weight'),
|
||||||
'size': document.getElementById('points-size'),
|
'size': document.getElementById('points-size'),
|
||||||
|
'offset-x': document.getElementById('points-offset-x'),
|
||||||
|
'offset-y': document.getElementById('points-offset-y'),
|
||||||
'color': document.getElementById('points-color'),
|
'color': document.getElementById('points-color'),
|
||||||
'outline': document.getElementById('points-outline'),
|
'outline': document.getElementById('points-outline'),
|
||||||
'outline-width': document.getElementById('points-outline-width'),
|
'outline-width': document.getElementById('points-outline-width'),
|
||||||
@@ -29,9 +32,12 @@ var myDom = {
|
|||||||
'text': document.getElementById('lines-text'),
|
'text': document.getElementById('lines-text'),
|
||||||
'align': document.getElementById('lines-align'),
|
'align': document.getElementById('lines-align'),
|
||||||
'baseline': document.getElementById('lines-baseline'),
|
'baseline': document.getElementById('lines-baseline'),
|
||||||
|
'rotation': document.getElementById('lines-rotation'),
|
||||||
'font': document.getElementById('lines-font'),
|
'font': document.getElementById('lines-font'),
|
||||||
'weight': document.getElementById('lines-weight'),
|
'weight': document.getElementById('lines-weight'),
|
||||||
'size': document.getElementById('lines-size'),
|
'size': document.getElementById('lines-size'),
|
||||||
|
'offset-x': document.getElementById('lines-offset-x'),
|
||||||
|
'offset-y': document.getElementById('lines-offset-y'),
|
||||||
'color': document.getElementById('lines-color'),
|
'color': document.getElementById('lines-color'),
|
||||||
'outline': document.getElementById('lines-outline'),
|
'outline': document.getElementById('lines-outline'),
|
||||||
'outline-width': document.getElementById('lines-outline-width'),
|
'outline-width': document.getElementById('lines-outline-width'),
|
||||||
@@ -41,9 +47,12 @@ var myDom = {
|
|||||||
'text': document.getElementById('polygons-text'),
|
'text': document.getElementById('polygons-text'),
|
||||||
'align': document.getElementById('polygons-align'),
|
'align': document.getElementById('polygons-align'),
|
||||||
'baseline': document.getElementById('polygons-baseline'),
|
'baseline': document.getElementById('polygons-baseline'),
|
||||||
|
'rotation': document.getElementById('polygons-rotation'),
|
||||||
'font': document.getElementById('polygons-font'),
|
'font': document.getElementById('polygons-font'),
|
||||||
'weight': document.getElementById('polygons-weight'),
|
'weight': document.getElementById('polygons-weight'),
|
||||||
'size': document.getElementById('polygons-size'),
|
'size': document.getElementById('polygons-size'),
|
||||||
|
'offset-x': document.getElementById('polygons-offset-x'),
|
||||||
|
'offset-y': document.getElementById('polygons-offset-y'),
|
||||||
'color': document.getElementById('polygons-color'),
|
'color': document.getElementById('polygons-color'),
|
||||||
'outline': document.getElementById('polygons-outline'),
|
'outline': document.getElementById('polygons-outline'),
|
||||||
'outline-width': document.getElementById('polygons-outline-width'),
|
'outline-width': document.getElementById('polygons-outline-width'),
|
||||||
@@ -74,7 +83,10 @@ var createTextStyle = function(feature, resolution, dom) {
|
|||||||
var align = dom['align'].value;
|
var align = dom['align'].value;
|
||||||
var baseline = dom['baseline'].value;
|
var baseline = dom['baseline'].value;
|
||||||
var size = dom['size'].value;
|
var size = dom['size'].value;
|
||||||
|
var offsetX = parseInt(dom['offset-x'].value, 10);
|
||||||
|
var offsetY = parseInt(dom['offset-y'].value, 10);
|
||||||
var weight = dom['weight'].value;
|
var weight = dom['weight'].value;
|
||||||
|
var rotation = parseFloat(dom['rotation'].value);
|
||||||
var font = weight + ' ' + size + ' ' + dom['font'].value;
|
var font = weight + ' ' + size + ' ' + dom['font'].value;
|
||||||
var fillColor = dom['color'].value;
|
var fillColor = dom['color'].value;
|
||||||
var outlineColor = dom['outline'].value;
|
var outlineColor = dom['outline'].value;
|
||||||
@@ -86,7 +98,10 @@ var createTextStyle = function(feature, resolution, dom) {
|
|||||||
font: font,
|
font: font,
|
||||||
text: getText(feature, resolution, dom),
|
text: getText(feature, resolution, dom),
|
||||||
fill: new ol.style.Fill({color: fillColor}),
|
fill: new ol.style.Fill({color: fillColor}),
|
||||||
stroke: new ol.style.Stroke({color: outlineColor, width: outlineWidth})
|
stroke: new ol.style.Stroke({color: outlineColor, width: outlineWidth}),
|
||||||
|
offsetX: offsetX,
|
||||||
|
offsetY: offsetY,
|
||||||
|
rotation: rotation
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user