OpenLayers - 样式标签忽略加号

时间:2015-04-20 16:01:20

标签: javascript openlayers

我有一个像这样的OpenLayers.Style:

PoisStyle = new OpenLayers.Style({
    ...
    label: "${poiLabel}"
}, {
    context: {
        ...
        poiLabel: function(feature) {
            return "+212011223344";
        }
    }
});

+212011223344中的+会被忽略,所有显示的都是212011223344 有什么想法吗?

2 个答案:

答案 0 :(得分:1)

在评估期间,调用方法OpenLayers.Style.createLiteral,其中包含以下行:

value=(isNaN(value)||!value)?value:parseFloat(value);

您的字符串内容被归类为正在"而不是数字",因此请求parseFloat返回一个数字,此数字将转换为没有前导" +"的字符串。同样地,你会丢失尾随零。

作为快速修复,您可以在文字中插入零宽度不间断空格:

return "+\ufeff212011223344";

这使得字符串"不是数字"没有可见。

答案 1 :(得分:0)

请尝试使用ASCII代码:

+