所以我从数据库中获取一些文本并将它们作为点放在矢量图层上,然后将文本放入标签中。问题是一些文本以'。'开头。跟随一些数字,如被视为数字,并在开头收到'0'。
例如:“。341”显示为“0.341”。内部文本来自数据库为“.341”,前面的功能插入“.341”,在功能插入后它仍然是“.341”。同时使用typeof我总是得到“字符串”。
在下面的代码中,您可以看到标签的设置位置:
var style = new OpenLayers.Style({
fillColor: "#ffcc66",
strokeColor: "#ff9933",
strokeWidth: 2,
label: "${text}",
fontColor: "#333333",
fontFamily: "sans-serif",
fontWeight: "bold"
}
如果有人知道怎么防止用'0'写的话,我将不胜感激。
答案 0 :(得分:0)
由于我没有找到任何方法来做任何选项,我继续前进,找到了负责任的代码。复制粘贴到我的.js中以覆盖它并取消评估负责的行:
OpenLayers.Style.createLiteral = function(value, context, feature, property) {
if (typeof value == "string" && value.indexOf("${") != -1) {
value = OpenLayers.String.format(value, context, [feature, property]);
//value = (isNaN(value) || !value) ? value : parseFloat(value);
}
return value;
};