как я могу получить левую кнопку или правую кнопку, нажмите или нет в createAnnotation?

Я создаю базовое приложение просмотра карты. Я хочу сделать. когда я нажимаю правую кнопку, чем показывать ее адрес. Но как я наблюдаю, кнопка нажата или нет?

за обычную кнопку беру

button.addEventListener('click',function(){
<do something>
});

но в mapView, как я могу получить?


person MRT    schedule 03.03.2012    source источник


Ответы (2)


Я предполагаю, что вы хотите поместить кнопки в аннотацию.

создайте параметры аннотации: -

var annotationParams = 
{
latitude:33.74511,
longitude:-84.38993,
title:"Example",
subtitle:'Atlanta Braves Stadium foo',
pincolor: isAndroid ? "orange" : Titanium.Map.ANNOTATION_RED,
animate:true,
myid:1,
leftButton:currentWindow.photo, // for image
rightButton: Titanium.UI.iPhone.SystemButton.DISCLOSURE
};

var mapAnnotation = Titanium.Map.createAnnotation(annotationParams);

var mapview  = Titanium.Map.createView
({
    mapType: Titanium.Map.STANDARD_TYPE,
    region:{latitude:33.74511, longitude:-84.38993, latitudeDelta:0.5, longitudeDelta:0.5},
    animate:true,
    regionFit:true,
    userLocation:true,
    annotations:[mapAnnotation],
    top:'0dp',
    height:'450dp'
});     
currentWindow.add(mapview);

Теперь обработайте щелчок по карте, например: -

// map view click event listener
mapview.addEventListener('click',function(evt)
{
   if (evt.clicksource == 'rightButton')
   {
    //getDetails();
    createActionSheet();        
   }
   else if(evt.clicksource == 'leftButton')
   {
      // do some thing
   }
 } 
person Maulik    schedule 03.03.2012

Я думаю, это полезно для вас,

mapview.addEventListener('click', function(evt) {

    Ti.API.info("Annotation " + evt.title + " clicked, id: " + evt.annotation.myid);

    // Check for all of the possible names that clicksouce
    // can report for the left button/view.
    if (evt.clicksource == 'leftButton' || evt.clicksource == 'leftPane' ||
        evt.clicksource == 'leftView') {
        Ti.API.info("Annotation " + evt.title + ", left button clicked.");
    }
});
person Community    schedule 03.03.2012