8

下午好。在我的应用程序中,我从数据库中为 parse.com 上的标记提取数据:

public void ParseQueryMap() {
          ParseQuery query = new ParseQuery("MyObject");
          query.findInBackground(new FindCallback() {
          public void done(List<ParseObject> myObject, ParseException e) {
          if (e == null) {

                    for ( int i = 0; i < myObject.size(); i++) {

                          commGet =  myObject.get(i).getString("Comment");

                          geo1Dub = myObject.get(i).getParseGeoPoint("location").getLatitude();
                          geo2Dub = myObject.get(i).getParseGeoPoint("location").getLongitude();

                         Location aLocation = new Location("first");
                         aLocation.setLatitude(geo1Dub);
                         aLocation.setLongitude(geo2Dub);
                         Location bLocation = new Location("second");
                         bLocation.setLatitude(location.getLatitude());
                         bLocation.setLongitude(location.getLongitude());
                         int distance = (int)aLocation.distanceTo(bLocation);
                              if (distance<rad) {  // where "rad" radius display points
                                  myMap.addMarker(new MarkerOptions().position(new LatLng(geo1Dub,geo2Dub)).title(commGet)                                   .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED)));     

                               } else {
                               }                                                               

                         }

             } else {
                    Toast.makeText(MainActivity.this, "Error!", Toast.LENGTH_SHORT).show();
              }
          }
      });

我想创建一个标记数组来测试它的大小,如果它为零,则显示 AlertDialog。也就是说,我想知道我得到了多少子弹。感谢您的帮助

更新:我想知道地图上显示了多少个标记

4

2 回答 2

30
// before loop:
List<Marker> markers = new ArrayList<Marker>();

// inside your loop:
Marker marker = myMap.addMarker(new MarkerOptions().position(new LatLng(geo1Dub,geo2Dub))); //...
markers.add(marker);

// after loop:
markers.size();
于 2013-03-19T23:47:02.493 回答
0
List<LatLng> plots = new ArrayList();

//get your coordinates and add them to the list of plots
plots.add(new LatLng(latitude,longitude));

plots.forEach(plot->{
    MarkerOptions marker = new MarkerOptions().position(plot).title("My 
    Position");
    googleMap.addMarker(marker);
});
于 2021-09-15T06:40:07.553 回答