我正在尝试在用户移动时在地图上绘制带有位置数据的多边形。我不希望多边形之间有任何间断。我需要下一个多边形的一边连接到前一个多边形的边。我该怎么做?我已经完成了迄今为止所做的工作,但我不确定如何收集位置数据并使用之前的数据来连接多边形。
我正在使用:
onLocationChanged(Location location) {
currentLocation = (new LatLng(location.getLatitude(), location.getLongitude()));
if(previousLocation != null) {
polygonCornerBackLeftCorner = SphericalUtil.computeOffset(currentLocation, widthInMeters / 2, location.getBearing() + 90);
polygonCornerBackRightCorner = SphericalUtil.computeOffset(currentLocation, widthInMeters / 2, location.getBearing() + 90);
}
previousLocation = currentLocation
}
polygonGenerator() {
PolygonOptions polygon = new PolygonOptions().add(polygonCornerBackLeftCorner, polygonCornerBackRightCorner, polygonCornerFrontRight, polyCornerFrontLeft).fillColor(Color.YELLOW);
getMap().addPolygon(whatsquare);
}
答案 0 :(得分:0)
每当你得到一个新的currentLocation时,你都需要计算与它对应的角点,并且你想要将它们缓存以供日后使用。如果这不是第一个位置,那么你将拥有一对缓存的角点,你将使用它们加上新的角点来制作多边形并将其添加到地图中,然后缓存新的角点下一次迭代。