0

我在我的应用程序中设置标记时遇到问题。我创建了我的 LatLng 对象并将其添加到地图中;纬度和经度在逗号后有 6 位数字。问题如下:我在地图上获取每个标记的位置(使用 myMarker.getPosition.latitude 和 myMarker.getPosition.longitude),逗号后的值远多于 6 位(约 15 位),并且值不同于输入的。(即输入纬度为 40.254874,输出纬度为 40.25487358741045)。

有人可以帮助我吗??

4

3 回答 3

0

这是实现中的一个错误。您可能会在gmaps-api-issues上看到/加注星标。我猜原因可能是双值在传输到 Google Play 服务并返回时以其他方式存储。

基本上这会阻止Markers通过 position进行比较LatLng,因此您应该使用不同的方式来比较它们(例如Marker.equals)。

于 2013-05-28T18:27:33.287 回答
0

您不能在 Java 中表示任意浮点数。我的猜测是差异是由于这个。

请注意,差异最多为 11 厘米(111.321km / 1e6)。

于 2013-05-28T10:29:33.270 回答
0

嗨 Sotiris 试试这个代码。

     map.addMarker(new MarkerOptions().position(new LatLng(53.551, 9.993)).title("Test"));

如果你在小数点后四舍五入会更好。

于 2013-05-28T10:56:40.513 回答