openlayer 6,geojson如果是数字/浮点数/整数,如何标注特征?

问题描述 投票:0回答:1

我有一个包含所有设置多边形的geojson文件。用此行在多边形的中间显示区域的名称(字符串)是没有问题的:

geojsonStyle.getText().setText(feature.get('Area_name'));

但现在我想在多边形中显示包含浮点数或整数的要素作为标签。我只是想用包含数字的功能来更改"Area_name",例如:'Shops in area'

所以它看起来像这样:

geojsonStyle.getText().setText(feature.get('Shops in area'));

但是这不起作用。

我认为这与数据类型(string vsintegersvs float)有关,我需要使用javascript将数字视为字符串。但是我在示例中找不到任何有关它的信息。我想我忽略了吗?我希望有人能向我提示正确的方向吗?

此功能仅包含整数,因此如果不显示.0,会更好。但是此json文件中的另一个功能包含百分比,因此2个小数点与显示在标签中有关。

这是部分数据在geojson文件中的样子:

"features": [
{ "type": "Feature", "properties": { "Area_name": "Haarlem", "Shops in area": 1727.0]},
integer label geojson openlayers-6
1个回答
0
投票
一种选择是将该数字强制转换为字符串:geojsonStyle.getText().setText(""+feature.get('Shops in area'));

如果您不希望为零,请在数字上调用parseInttoFixed(0)(两者都产生一个字符串)。

代码段:

var json = {"features": [ { "type": "Feature", "properties": { "Area_name": "Haarlem", "Shops in area": 1727.0 } }]} console.log(json.features[0]["properties"]["Shops in area"]); document.getElementById('output').innerHTML=parseInt(json.features[0]["properties"]["Shops in area"]);
<div id="output"></div>
© www.soinside.com 2019 - 2024. All rights reserved.