List <viewobject> list总是返回list size()= 1这里是map

时间:2016-11-14 09:36:57

标签: android google-maps google-maps-markers

这里我在地图上添加标记:

hereMap.addMapObject(new MapMarker(new GeoCoordinate(lat,lng), myImage)
       .setTitle("marker"+geoCounter)
       .setDescription(" \nLatitude :" +lati+  "\nLongitude : "+ lng));

使用lat lng的数组列表添加lat lng但是当我在以下帮助下添加标记时:

@Override
public void onLocationChanged(Location location) {...}

List<ViewObject>列表为我提供了添加标记的确切大小。

在这种情况下,我得到lat long:

location.getLatitude()
location.getLongitude()

以下是地图上的地图标记:

Image1

我在这里得到这样的大小:

Image2

1 个答案:

答案 0 :(得分:1)

似乎

public abstract boolean onMapObjectsSelected (java.util.List <ViewObject> objects)

一个回调,表示由于用户点击地图而至少选择了一个ViewObject。因此objects只有选定的标记。访问地图上的所有标记您应该在调用ArrayList<MapMarker>之后将生成的标记对象保存在您选择的集合中(例如addMarker()),就像在this回答中一样。例如:

ArrayList<MapMarker> mMarkersList = new ArrayList();
...
MapMarker marker = new MapMarker(new GeoCoordinate(lat,lng), myImage)
            .setTitle("marker"+geoCounter)
            .setDescription(" \nLatitude :" +lati+  "\nLongitude : "+ lng)
mMarkersList.add(marker);
hereMap.addMapObject(marker);

然后从mMarkersList获取它:

MapMarker marker = mMarkersList.get(<number_of_marker>)