Android Nutiteq Map получает идентификатор маркера

Я разрабатываю картографическое приложение, используя nutiteq mapview. Я добавил несколько маркеров на свою карту, и у каждого маркера есть действие щелчка. Я обрабатываю щелчок маркера в функции 'onVectorElementClicked', но она не дает мне идентификатор маркера, по которому я щелкнул, а дает мне только заголовок метки маркера.

((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);

        }

person John Error    schedule 23.12.2014    source источник
comment
Я перефразировал ваш ответ как ответ на вопрос. Пожалуйста, примите это как ответ.   -  person JaakL    schedule 26.12.2014


Ответы (1)


Когда вы добавляете маркер с помощью цикла for, я могу установить данные в маркер. Это последний параметр конструктора маркера. Как вы можете видеть ниже кода, я могу установить индекс цикла 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);

    }
person JaakL    schedule 26.12.2014