У меня есть огромный список аннотаций. Как я могу показать только две конкретные аннотации? например, я хочу по умолчанию проверять только и показывать аннотации для «Рестораны» и «Бары». Если пользователь хочет отобразить больше, то из меню панели действий с Google Maps будет проверять других.Как показать только 2 аннотации
ar args = arguments[0] || {};
$.winTitle.text = args.title;
$.win.addEventListener('open', function(e) {
if (OS_ANDROID) {
var ab = $.win.activity.actionBar;
ab.title = args.title;
}
});
var rows = [];
var checkedRows = [];
var categories = [];
var items = [];
var defaultState = "true";
var MapModule = require('ti.map');
rows.push(Ti.UI.createTableViewRow({
title : L('checkAll'),
color : "#737373",
rightImage : '',
font:{
fontWeight: 'bold'
},
height : 60,
checked : 'false',
left : 10
}));
for (var prop in args.data) {
args.data[prop].checked = defaultState;
rows.push(Ti.UI.createTableViewRow({
title : prop,
color : "#737373",
rightImage : OS_ANDROID ? '/images/icons/check.png' : '/icons/check.png',
height : 60,
left : 10
}));
};
$.menu.data = rows;
var isOpen = false;
function onBlankTouch(e) {
$.popup.animate({
left : 1500,
duration : 250
}, function() {
isOpen = false;
});
}
function openMenu(e) {
$.popup.animate({
left : isOpen ? 1500 : 0,
duration : 250
}, function() {
isOpen = !isOpen;
});
}
function onHomeIconClick() {
$.win.close();
}
function onWindowOpened(e) {
if (OS_ANDROID) {
var activity = $.win.activity;
activity.onCreateOptionsMenu = function(e) {
e.menu.clear();
e.menu.add({
icon : '/images/icons/menu.png',
showAsAction : Ti.Android.SHOW_AS_ACTION_ALWAYS
}).addEventListener('click', openMenu);
};
activity.invalidateOptionsMenu();
}
var timeout;
$.mapview.addEventListener('click', function(e) {
if (OS_IOS) {
if (e.clicksource === 'annotation')
clearTimeout(timeout);
if (e.clicksource && (e.clicksource === 'pin' || e.clicksource.indexOf('infoWindow', 'title') > -1)) {
timeout = setTimeout(function() {
for (var i = 0,
j = items.length; i < j; i++) {
var item = items[i];
if (item.name === e.title) {
Ti.App.fireEvent(PW.E.OPEN, {
category : {
id : item.id,
type : 'itemId',
data : item
},
title : item.name
});
return;
}
};
}, 3000);
}
}
else {
if (e.clicksource && (e.clicksource === 'rightPane' || e.clicksource.indexOf('infoWindow', 'title') > -1)) {
for (var i = 0,
j = items.length; i < j; i++) {
var item = items[i];
if (item.name === e.title) {
Ti.App.fireEvent(PW.E.OPEN, {
category : {
id : item.id,
type : 'itemId',
data : item
},
title : item.name
});
return;
}
};
}
}
});
annotations();
}
function annotations(title) {
$.mapview.removeAllAnnotations();
items = [];
var ann = [];
var currentColor = 0;
for (var prop in args.data) {
if (args.data[prop].checked=="false") {
var color = ++currentColor;
if (color > 2) {
color = currentColor = 0;
}
for (var i = 0, j = args.data[prop].items.length; i < j; i++) {
var it = args.data[prop].items[i];
items.push(it);
ann.push(MapModule.createAnnotation({
latitude : parseFloat(it.lat_long[0]),
longitude : parseFloat(it.lat_long[1]),
title : it.name,
canShowCallout : false,
rightButton : OS_ANDROID ? '/images/arrow.png' : '/icons/arrow.png',
item : it.name,
pincolor : color
}));
};
}
}
if (ann.length > 0)
$.mapview.addAnnotations(ann);
$.mapview.setLocation({
latitude : 37.9908997,
longitude : 23.7033199,
animate : true,
latitudeDelta : 7.50,
longitudeDelta : 7.50
});
}
function menuClick(e) {
console.log(e.row.title);
console.log(e.rowData.title);
if (e.row.title == L('checkAll')) {
if (e.row.checked == "true") {
e.row.rightImage = '';
e.row.checked = "false";
} else {
e.row.rightImage = OS_ANDROID ? '/images/icons/check.png' : '/icons/check.png';
e.row.checked = "true";
for (var i = 1; i < rows.length; i++) {
rows[i].rightImage = '';
args.data[rows[i].title].checked = "false";
}
$.mapview.removeAllAnnotations();
}
} else {
if (args.data[e.row.title].checked == "false") {
args.data[e.row.title].checked = "true";
e.row.rightImage = '';
} else {
args.data[e.row.title].checked = "false";
e.row.rightImage = OS_ANDROID ? '/images/icons/check.png' : '/icons/check.png';
}
annotations();
}
}