面临通过 DynamoDb 获取多个标记的问题

Facing issues on getting multiple marker through DynamoDb

我是 android 的新手,正在开发一个基于地图的应用程序,我想在其中显示多个标记(大约 1000 个或更多),我已经使用 dynamo db 完成了所有步骤并将结果存储在列表。现在,当我在 google 上搜索关于在地图中显示多个标记时,我得到了一个解决方案,我必须将数据存储在数组中,然后将其放入循环中。我将标记存储在字符串 X、Y 和 XY 中。 我想在地图上显示。请仔细阅读代码,让我知道如何获取 X、Y 和 XY 的值。

Settlements.java

private String X;
private String Y;
private String XY;
private String "AreaName"

@DynamoDBHashKey(attributeName = "AreaName")
public String getAreaName() {
    return AreaName;
}

public void setAreaName(String AreaName) {
    this.AreaName = AreaName;
}

@DynamoDBAttribute(attributeName = "X")
public String getX() {
    return X;
}

public void setX(String x) {
    X = x;
}

@DynamoDBAttribute(attributeName = "Y")
public String getY() {
    return Y;
}

public void setY(String y) {
    Y = y;
}

@DynamoDBAttribute(attributeName = "XY")
public String getXY() {
    return XY;
}

public void setXY(String XY) {
    this.XY = XY;
}

这是我的 MainActivity。

 public class NavigationDrawerPeaceNow extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
        ImageView imageView;
        OutpostsTable outpostsTable;
        private GoogleMap googleMap;
        private Context mContext;
        private List<SettlementsTable> lstSettlements = new ArrayList<>();

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_navigation_drawer_peace_now);
            Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
            imageView = (ImageView) findViewById(R.id.layersiv);
            setSupportActionBar(toolbar);

            DDBExecutor.getInstance().getAllSettlements(mContext, new DDBExecutor.OnResponseListener() {
                @Override
                public void onResponse(Object result, String message) {
                    lstSettlements.addAll((List<SettlementsTable>) result);



                    }
                }
            });


            ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMapAsync(new OnMapReadyCallback() {
                @Override
                public void onMapReady(GoogleMap googleMap) {
                    try {
                        KmlLayer kmlLayer = new KmlLayer(googleMap, R.raw.settlements, getApplicationContext());
                        kmlLayer.addLayerToMap();
                        KmlLayer kmlLayer1 = new KmlLayer(googleMap, R.raw.outposts, getApplicationContext());
                        kmlLayer1.addLayerToMap();
                        KmlLayer kmlLayer2 = new KmlLayer(googleMap, R.raw.settlements_in_pal_nghbrhd_styled, getApplicationContext());
                        kmlLayer2.addLayerToMap();

                    } catch (XmlPullParserException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    LatLng israel = new LatLng(31.0461, 34.8516);
                    googleMap.addMarker(new MarkerOptions().position(israel).title("israel"));

                    googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
                    CameraPosition camPos = new CameraPosition.Builder().target(new LatLng(31.0461, 34.8516)).zoom(8).tilt(70).build();
                    CameraUpdate camUpd3 = CameraUpdateFactory.newCameraPosition(camPos);
                    googleMap.animateCamera(camUpd3);
                }


            });

为什么不对 SettlementsTable

的列表执行此操作
for (SettlementsTable settlementsTable :lstSettlements) {
            LatLng latLng=new LatLng(Double.parseDouble(settlementsTable.getX()),Double.parseDouble(settlementsTable.getY()));
            googleMap.addMarker(new MarkerOptions().position(latLng).title(settlementsTable.getXY()));
        }