Leaflet 减少坐标中的位数?
我是新加入这个论坛的,希望能在传单上得到大家的支持。我使用它作为我正在使用的web的一部分,我想减少从源代码中自动获取的“小数”的数量 我已经尝试了Leaflet 减少坐标中的位数?,leaflet,Leaflet,我是新加入这个论坛的,希望能在传单上得到大家的支持。我使用它作为我正在使用的web的一部分,我想减少从源代码中自动获取的“小数”的数量 我已经尝试了.toFixed()函数,但它似乎根本无法识别。因为这个数字太长了,我注意到传单不能按照我的要求绘制地图。因此,我想将这个数字减少到传单允许的最大容量 我的实际代码给出如下值: 40,4560796748558, -3,5703805143365 函数lang()返回以下错误: Uncaught Error: Invalid LatLng obje
.toFixed()
函数,但它似乎根本无法识别。因为这个数字太长了,我注意到传单不能按照我的要求绘制地图。因此,我想将这个数字减少到传单允许的最大容量
我的实际代码给出如下值:
40,4560796748558, -3,5703805143365
函数lang()
返回以下错误:
Uncaught Error: Invalid LatLng object: (40,4560796748558, -3,5703805143365)
提前谢谢。这听起来不像是传单问题,更像是数学问题。使用
.toFixed
将数字转换为字符串。您可以执行Number(lat.toFixed(decimalPlaces))
对数字进行四舍五入,而无需将其转换为字符串。或者退房L.latLng
需要两个数字值,而不是两个字符串值,因此出现了错误。多亏了Seth,我找到了解决方案,基本上我不得不减少数字上的数字来解析传单中的latLng函数,所以我做了下面的工作:
const lngn = nav.lng ;
const lngnp= lngn.replace(",", ".");
const lng = lngnp.replace(/\d+\.\d+/g, function(match) {
return + (Math.round(match+ "e+8") + "e-8");
});
points.push(L.latLng(lat, lng));
我的源代码已经用“,”进行了解析,所以我必须先用“.”作为分隔符替换它,然后我执行替换函数以获得我想要的最终数字
谢谢大家。谢谢,我明白了。。。但是,如果我尝试使用toFixed()函数转换为num,我会得到这样一个错误:uncaughttypeerror:latn.toFixed不是一个函数