2016-02-14 122 views
1

我使用ti.Map停止通過點擊事件註釋(從彈出阻止)

我想要做的事,當用戶點擊註釋。

//make mapview 
    var mapView = Map.createView({ 
     mapType:Map.NORMAL_TYPE, 
    }); 

//make anotation 
    annot= Map.createAnnotation({ 
      latitude: myLatitude 
      longitude: myLongitude 
      title: myTitle 
      width:'100dp', 
      height:'100dp' 
    }); 

// add annotation 
    mapView.addAnnotation(annot); 

//handle the annotation click 
    mapView.addEventListener('click', function(evt) { 
     if (evt.clicksource == "pin"){ // if user click annotation 
      //do something 
      return; //I try this 
     } 
    }); 

它運作良好。

然而,做一些事情之後,註釋彈出窗口(如默認行爲)

我想停下來註釋彈出。

1)我嘗試阻止傳遞給註記類的事件。

2)停止註釋不反應點擊事件。

我該如何解決?

回答

1

如果您想停止註釋彈出窗口,請嘗試對annot的屬性title發表評論。我試過這個,它的工作正常。

//make anotation 
annot= Map.createAnnotation({ 
     latitude: 19.151201, 
     longitude: 72.938237, 
     // title: 'myTitle', 
     width:'100dp', 
     height:'100dp' 
}); 

//handle the annotation click 
mapView.addEventListener('click', function(evt) { 
    if (evt.clicksource == "pin"){ // if user click annotation 
     //do something 
     alert('Pin clicked'); 
     return; //I try this 
    } 
}); 

而只是警告是不可見的註釋彈出。

一些更新的代碼:

annot= Map.createAnnotation({ 
    latitude: 19.151201, 
    longitude: 72.938237, 
    title: ' ', 
    backgroundColor : 'transparent' 
}); 
// add annotation 
mapView.addAnnotation(annot); 

//handle the annotation click 
mapView.addEventListener('click', function(evt) { 
if (evt.clicksource == "pin"){ // if user click annotation 
    alert('Pin clicked'); 
    evt.annotation.title = ""; 
    // return; //I try this 
}else if (evt.clicksource == "map"){ 
    alert('map'); 
    evt.annotation.title = " "; 
} 
}); 
+0

感謝您的評論。我評論了標題,所以彈出窗口不出來,但不知何故「點擊」事件的mapView不會被解僱.... – whitebear

+0

@whitebear您正在使用哪個SDK? – Swanand

+0

5.1.1GA和ti圖2.4.1(iOS) – whitebear