Android - 谷歌地图在+ -180经度和90纬度

时间:2015-10-09 17:25:39

标签: android google-maps polygon

我已经实现了一个像这样的xml布局的MapFragment:

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/activity_mappa_partenza" />

在谷歌地图api v.2中我想绘制一个多边形:

PolygonOptions optionsShadow = new PolygonOptions();
optionsShadow.fillColor(Color.RED);
optionsShadow.strokeColor(Color.RED);
optionsShadow.strokeWidth(1f);
optionsShadow.addAll(ombraLinkList);
map.addPolygon(optionsShadow);

ombraLinkList是一个LinkedList,填充了Sun Terminator Line的所有点

我想要达到的是一个充满地球夜晚区域的多边形。

如果纬度和经度属于这种类型:     Lat 90 Lon -180,     Lat 78 Lon -150,     Lat 75 Lon -120,     --------     ---------     Lat 35 Lon -45,     Lat 55 Lon 0,     Lat 65 Lon 20,     Lat 75 Lon 45,     Lat 80 Lon 75,     Lat 90 Lon 180

Lat 90,Lon 180与Lat 90相同,Lon -180并且我无法 绘制并关闭poligon区域。

任何建议将不胜感激。 谢谢大家。

1 个答案:

答案 0 :(得分:0)

通常在GIS中绘制多边形时,起点与终点相同(“闭合多边形”)。所以使用(90,180)作为这个起点。通常,列表中坐标的顺序也很重要。所以只要删除坐标(90,-180),如果存在(90,180)并确保(90,180)是列表中的第一个和最后一个。

编辑:

坐标列表的数据类型为com.google.android.gms.maps.model.LatLng,并注意specification

  

经度,以度为单位。此值的范围为 [ -180,180

     

纬度,以度为单位。此值的范围为 [ -90,90 ]

这意味着不是碰撞。所以你尝试(90,180)作为起始端,所以现在我们知道在Google地图GIS系统中它应该是(90,-180)......