Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Leaflet 减少坐标中的位数?_Leaflet - Fatal编程技术网

Leaflet 减少坐标中的位数?

Leaflet 减少坐标中的位数?,leaflet,Leaflet,我是新加入这个论坛的,希望能在传单上得到大家的支持。我使用它作为我正在使用的web的一部分,我想减少从源代码中自动获取的“小数”的数量 我已经尝试了.toFixed()函数,但它似乎根本无法识别。因为这个数字太长了,我注意到传单不能按照我的要求绘制地图。因此,我想将这个数字减少到传单允许的最大容量 我的实际代码给出如下值: 40,4560796748558, -3,5703805143365 函数lang()返回以下错误: Uncaught Error: Invalid LatLng obje

我是新加入这个论坛的,希望能在传单上得到大家的支持。我使用它作为我正在使用的web的一部分,我想减少从源代码中自动获取的“小数”的数量

我已经尝试了
.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不是一个函数