Android Nutiteq Map geting marker id

时间:2014-12-23 09:51:32

标签: onclick android-mapview marker nutiteq

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

        }

1 个答案:

答案 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);

    }