我正在使用一些注释创建应用。现在我需要点击服装上的注释。我试图将click事件放在每个注释或mapView上,但没有任何接缝可以工作。我试过这个:
这就是我创建服装注释的方式:
var pins = [];
var imgTemp = Ti.UI.createImageView({
image : "/images/p_" + keys[j] + ".png"
});
var alturaImg = imgTemp.toBlob().height;
var larguraImg = imgTemp.toBlob().width;
var alturaImgNova = deviceHeight * 0.04;
var fator = alturaImg / alturaImgNova;
var larguraImgNova = larguraImg / fator;
var annottion = MapModule.createAnnotation({
latitude : pontos2[keys[j]][i].Lat,
longitude : pontos2[keys[j]][i].Long,
pincolor : MapModule.ANNOTATION_VIOLET,
customView : Ti.UI.createImageView({
height : alturaImgNova,
width : larguraImgNova,
image : "/images/p_" + keys[j] + ".png"
}),
draggable : false,
id : id
});
pins.push(pins);
mapview.addAnnotations(pins);
点击注释:
MyAnnotation.addEventListener('click', function() {
alert("click");
});
点击mapView:
mapview.addEventListener('click', function() {
alert("click");
});
在android上,mapView click事件运行正常。问题出在IOS上。
答案 0 :(得分:2)
对于IOS,您必须将canShowCallout设置为false。
创建注释:
var annotation = MapModule.createAnnotation({
latitude : annotations[i].latitude,
longitude : annotations[i].longitude,
myid : i
});
if (OS_IOS) {
annotation.image = "/images/icn_map_location.png";
annotation.canShowCallout = false;
} else {
annotation.customView = Ti.UI.createLabel({
width : 48,
height : 58,
backgroundImage : "/images/icn_map_location.png"
});
}
点击mapView:
mapView.addEventListener("click", myFunction);