当前位置: 代码迷 >> JavaScript >> geojson的传单格式值
  详细解决方案

geojson的传单格式值

热度:84   发布时间:2023-06-05 10:16:39.0

当它们显示在Leaflet中时,是否有办法格式化geojson中包含的不同语言环境的值?

在正在开发的Web应用程序中,所有数据都包含在geojson中。 我必须使用不同的语言版本,这些版本也要求数字和货币使用不同的格式。 这些值显示在弹出窗口,图例和D3图表中。 在图表中,我可以使用D3中的格式化程序功能来获得正确的语言环境设置:逗号分隔的小数。

如何使用来自geoj??son的javascript和传单将值显示为逗号分隔的小数,以及货币以不同的格式显示?

有什么建议么?

编辑 :Matthew Bloch建议使用d3.locale格式化客户端上的值。 这很有道理。 我将尝试查找示例。 globalize.js是解决方案还是JavaScript函数?

这是一个示例区域和代码:

样例代码:

var onEachFeature_LMA = function onEachFeature(feature, layer) {
            layer.on({
            mouseover: highlightFeature,
            mouseout: resetHighlight,
            click: zoomToFeature
        });

var Popup = feature.properties.AreaName + '</b><br />No diploma: ' + 
    feature.properties.NoDipTot + '%' + 
    '<br />High school: ' +
    feature.properties.HSTot + '%' +
    '<br />College: ' +
     feature.properties.ColTot + '%' +
     '<br />University: ' +
     feature.properties.UnTot + '%';
layer.bindPopup(Popup);         
}

编辑2:

我认为这只是快速补充,可能对感兴趣的人有所帮助。 答案提供了工作,但是我决定使用Matthew建议的D3进行本地化。 使用D3,我可以格式化我可能需要的所有内容:日期,货币,数字等。

定义要使用的语言环境,然后使用numberFormat或timeFormat等。它在当前D3中是动态的,不需要像以前那样进行重新编译。

var enCA = d3.locale({
  decimal: ".",
  thousands: ",",
  grouping: [3],
  currency: ["$", ""],
  dateTime: "%a %b %e %X %Y",
  date: "%Y-%m-%d",
  time: "%H:%M:%S",
  periods: ["AM", "PM"],
  days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
  shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
  months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
  shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
});

var  format = enCA.numberFormat("n");
format(3,4) //3.4
format(10000) //10,000

如果这不符合您的要求,请纠正我,但是仅使用简单的字符串替换将点更改为这样的逗号呢:

//globally replace '.' in oldString by ',' and save it to formattedString string
formattedString = oldString.replace(/\./g, ','); 

看到 。

您还可以扩展该函数以将某个位置作为输入并根据switch语句格式化字符串。