0

我正在使用 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);

        }
4

1 回答 1

1

当您使用 for 循环添加标记时,我可以将数据设置为标记。这是 Marker 构造函数的最后一个参数。正如您在代码下方看到的,我可以在创建的参数标记中设置我的 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);

    }
于 2014-12-26T19:09:30.803 回答