我已经实现了一个像这样的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区域。
任何建议将不胜感激。 谢谢大家。
答案 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)......