Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.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
Android LatLng构造函数将经度180.0更改为-180.0_Android_Android Location - Fatal编程技术网

Android LatLng构造函数将经度180.0更改为-180.0

Android LatLng构造函数将经度180.0更改为-180.0,android,android-location,Android,Android Location,创建新板条时,如果使用180.0作为经度,则该经度将更改为-180。这种行为在纬度上根本不会发生,90.0运行得很好 例如: LatLng blah = new LatLng(-90.0, 180.0); Log.d(TAG, "blah: " + blah.longitude); 将输出: blah: -180.0 鉴于此方法效果良好: LatLng blah = new LatLng(-90.0, 179.99999999999); Log.d(TAG, "blah: " + blah.

创建新板条时,如果使用180.0作为经度,则该经度将更改为-180。这种行为在纬度上根本不会发生,90.0运行得很好

例如:

LatLng blah = new LatLng(-90.0, 180.0);
Log.d(TAG, "blah: " + blah.longitude);
将输出:

blah: -180.0
鉴于此方法效果良好:

LatLng blah = new LatLng(-90.0, 179.99999999999);
Log.d(TAG, "blah: " + blah.longitude);
输出:

blah: 179.99999999999

我想这可能是由于双精度的缘故,比如说实际上是180.00000001或类似的数字,但我不知道如何解决这个问题,因为你不能使用字符串或大小数等。

作为以下内容的文档:

它表示
-180度和+180度互斥
-180到179.999+的值是有效的,当您将+180放入
-latlong
时,它将溢出,从而在结果上给出
-180.0


另一方面,
179.9999999999
它仍然有效,因为它不超过180,并且不会溢出,从而为您提供与以下文档相同的值。

它表示
-180度和+180度互斥
-180到179.999+的值是有效的,当您将+180放入
-latlong
时,它将溢出,从而在结果上给出
-180.0


另一方面,
179.9999999999
它仍然有效,因为它不超过180,并且不会溢出,因此提供相同的值。

-180和180表示相同的经度值。标准化其属性,以便此经度始终表示为-180


这不是一个错误,但它确实意味着您必须小心,因为您不能假设您取出的经度的精确表示与放入的经度相同。

-180和180表示相同的经度值。标准化其属性,以便此经度始终表示为-180

这不是一个bug,但它确实意味着您必须小心,因为您不能假设您得到的经度的精确表示与您输入的经度相同

 longitude  The point's longitude. This will be normalized to be 
 within -180 degrees inclusive and +180 degrees exclusive.