Openlayers标签:防止.123显示为0.123

时间:2014-10-29 15:39:56

标签: javascript openlayers

所以我从数据库中获取一些文本并将它们作为点放在矢量图层上,然后将文本放入标签中。问题是一些文本以'。'开头。跟随一些数字,如被视为数字,并在开头收到'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'写的话,我将不胜感激。

1 个答案:

答案 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;
};