我正在使用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)停止注释不要对点击事件作出反应。
我该如何解决?
答案 0 :(得分:1)
如果要停止注释弹出窗口,请尝试对title
的属性annot
发表评论。我试过这个并且工作正常。
//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 = " ";
}
});