openlayers 6,geojson 如何标记一个特征,如果它是 number/float/integer?
openlayer 6, geojson how to label a feature if it is a number/float/integer?
我有一个包含所有多边形设置的地理文件json。
用这行显示多边形中间区域的名称(字符串)是没有问题的:
geojsonStyle.getText().setText(feature.get('Area_name'));
但现在我想在多边形中显示包含浮点数或整数的要素作为标签。我只是想用包含数字的特征更改 "Area_name"
,例如:'Shops in area'
。
所以它看起来像这样:
geojsonStyle.getText().setText(feature.get('Shops in area'));
但这行不通。
我认为它与数据类型有关(string
vs integers
vs float
),我需要制作 javascript 来处理数字作为一个字符串。但是我在示例中找不到任何相关信息。我想我忽略了它?我希望有人能给我一个正确方向的提示?
这个功能只包含整数,所以如果不显示.0就更好了。但是此 json 文件中的另一个功能包含百分比,因此 2 位小数与在标签中显示相关。
这就是部分数据在 geojson 文件中的样子:
"features": [
{ "type": "Feature", "properties": { "Area_name": "Haarlem", "Shops in area": 1727.0]},
一种选择是将该数字强制转换为字符串:geojsonStyle.getText().setText(""+feature.get('Shops in area'));
如果您不想要零,请对数字调用 parseInt
或 toFixed(0)
(toFixed
将产生一个字符串)。
代码片段:
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>
感谢 Geocodezip。这可以解决问题,并且正是我要找的:
一种选择是将该数字强制转换为字符串:
geojsonStyle.getText().setText(""+feature.get('Shops in area'));
原来.0也被截断了。
百分比是 1 位或 2 位小数。 22.30
显示为 22.3
而 16.67
显示为 16.67
我有一个包含所有多边形设置的地理文件json。 用这行显示多边形中间区域的名称(字符串)是没有问题的:
geojsonStyle.getText().setText(feature.get('Area_name'));
但现在我想在多边形中显示包含浮点数或整数的要素作为标签。我只是想用包含数字的特征更改 "Area_name"
,例如:'Shops in area'
。
所以它看起来像这样:
geojsonStyle.getText().setText(feature.get('Shops in area'));
但这行不通。
我认为它与数据类型有关(string
vs integers
vs float
),我需要制作 javascript 来处理数字作为一个字符串。但是我在示例中找不到任何相关信息。我想我忽略了它?我希望有人能给我一个正确方向的提示?
这个功能只包含整数,所以如果不显示.0就更好了。但是此 json 文件中的另一个功能包含百分比,因此 2 位小数与在标签中显示相关。
这就是部分数据在 geojson 文件中的样子:
"features": [
{ "type": "Feature", "properties": { "Area_name": "Haarlem", "Shops in area": 1727.0]},
一种选择是将该数字强制转换为字符串:geojsonStyle.getText().setText(""+feature.get('Shops in area'));
如果您不想要零,请对数字调用 parseInt
或 toFixed(0)
(toFixed
将产生一个字符串)。
代码片段:
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>
感谢 Geocodezip。这可以解决问题,并且正是我要找的: 一种选择是将该数字强制转换为字符串:
geojsonStyle.getText().setText(""+feature.get('Shops in area'));
原来.0也被截断了。
百分比是 1 位或 2 位小数。 22.30
显示为 22.3
而 16.67
显示为 16.67