如何解决此问题 收集坐标以指向多边形

How to fix this problem Collect coordinates to point polygon

我的 gps 和绘图多边形有问题

我每秒从

收集 GPS
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);

并将其放入领域数据库

(所以我的事情我做的不好)
也许应该每 10 米累积一次

下图是我得到的结果

我的问题

  1. 多边形看起来像 PASTA 而不是面积。

  2. 我的gps可以跳到另一栋楼(GPS不稳定)

请大家帮忙推荐一下

ArrayList<LatLng> coordList = new ArrayList<LatLng>(); 

      @Cleanup Realm realm = Realm.getDefaultInstance();

        RealmResults<PolygonAreas> PlotPolygon = realm.where(PolygonAreas.class).findAll();

                            if (PlotPolygon.size() > 0) {
                                for (PolygonAreas Polypoint : PlotPolygon) {

                                    coordList.add(new LatLng(Polypoint.getLatitude(), Polypoint.getLongitude()));

                                    try {
                                        Runnable addPolygon = new CellTowerMarkerGoogle.AddPolygon(mMap, new PolygonOptions()
                                                .addAll(coordList).fillColor(0x7F80b370).strokeColor(0x7F80b370)
                                        );
                                        getActivity().runOnUiThread(addPolygon);
                                    } catch (Exception e) {
                                        log.debug("Exception : " + e);
                                    }
                                }
                            }


         public  static class AddPolygon implements Runnable{
                private  GoogleMap map;
                private PolygonOptions options;

                public  AddPolygon(GoogleMap map,PolygonOptions options){
                    this.map = map;
                    this.options = options;

                }
                @Override
                public void run() { map.addPolygon(options);}
            }

我发现了问题 因为我的逻辑不正确变量 addPolygon 每次回来它都会创建新的对象多边形(.addAll) 它会导致创建重载对象。

我该如何解决? 我每次都必须销毁多边形对象并重新创建它。 该值将一直更新。每次更新我都必须销毁并创建新的多边形。