我正在使用nutiteq mapview开发地图应用程序。我在地图上添加了多个标记,每个标记都有一个点击操作。我在'onVectorElementClicked'中处理标记点击功能,但它没有给我点击标记的ID,只给了我标记的标题。
((DefaultLabel) vectorElement.getLabel()).getTitle()
是否有任何标记索引句柄功能?
我解决了:
当我用for循环添加标记时,我可以将数据设置为标记。这是 adsMarker 的最后一个参数。正如您在下面的代码中看到的,我可以在创建的参数标记中设置我的for循环索引。所以在“onVectorElementClicked'”中,我可以使用 vectorElement.userData
来调用它for(int i = 0; i<list.size(); i++){
markersLocations = mapLayer.getProjection().fromWgs84(list.get(i).y,list.get(i).x);
Marker adsMarkers = new Marker(markersLocations, markerLabel, markerStyle_, i);
advMarkersLayers.add(adsMarkers);
BasarTrafik.getInstance().setAdsMarker(adsMarkers);
}
答案 0 :(得分:1)
当您使用for循环添加标记时,我可以将数据设置为标记。这是Marker构造函数的最后一个参数。正如您在下面的代码中看到的,我可以在创建的参数标记中设置我的for循环索引。所以在“onVectorElementClicked&#39;”中,我可以使用vectorElement.userData调用它
for(int i = 0; i<list.size(); i++){
markersLocations = mapLayer.getProjection().fromWgs84(list.get(i).y,list.get(i).x);
Marker adsMarkers = new Marker(markersLocations, markerLabel, markerStyle_, i);
advMarkersLayers.add(adsMarkers);
BasarTrafik.getInstance().setAdsMarker(adsMarkers);
}