谷歌地图Javascript API LatLng类奇怪的行为

时间:2016-06-04 11:52:16

标签: javascript google-maps google-maps-api-3

我正在使用Google Maps Javascript API进行我的小型Livetracking-Project。在我的工作中,我遇到了LatLng-Class的奇怪行为。如果我输入下面示例中显示的两个值,我总是从.lng() - 来自LatLng-Object的方法得到这个非常奇怪的返回值,但是从.lat() - 方法得不到。我无法在google文档中找到此行为的解释。还有其他人知道这个问题吗?

var lat = 47.0189;
var lng = 8.33244;
var lastPoint = new google.maps.LatLng(lat, lng);
console.log(lastPoint.lat());
console.log(lastPoint.lng());

回归:

47.0189
8.33244000000002

Screenshot from JS-Console

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

  

JavaScript的数字通常作为十进制浮点数输入,但它们在内部表示为二进制浮点数。这导致了不精确。

有关详细信息,请阅读本书:

http://speakingjs.com/es5/ch11.html#number_representation