1

由于某种原因,LatLng 的构造函数将纬度值更改为 -90.0,但经度值很好。

    for (DealMarker m : markers.getMarkers()) {

        Log.d("map " , "pre - lat " + m.getmLatitude() + "  " + m.getmLongitude());

            LatLng latlng = new LatLng(m.getmLatitude(), m.getmLongitude());

            Log.d("map " , "post lat " + latlng.latitude + "  " + latlng.longitude);

        Marker deallocation = mMap.addMarker(new MarkerOptions().position(latlng).title(m.getTitle()).snippet(m.getSnippett()));
    }   

这会产生一个日志文件,如: 09-28 19:26:50.212: D/map(17784): pre - lat -121.6176785 39.1417939 09-28 19:26:50.212: D/map(17784): post lat -90.0 39.1417939

对于每个标记.. 我已经为此工作了好几个小时。谢谢你们。

4

1 回答 1

6

只需查看LatLng 构造函数的文档即可。它说:

public LatLng(双纬,双经)

构造具有给定纬度和经度的 LatLng,以度为单位。

参数:

纬度:点的纬度。这将被限制在 -90 度和 +90 度之间(含)。

经度:点的经度。这将被归一化为 -180 度(含)和 +180 度(不含)。

我认为这应该回答您的问题,为什么纬度被限制在 -90 到 90 之间。

于 2013-09-29T02:49:44.897 回答