Извините за широкое название вопроса.Объекты и циклы Javascript
Я создаю приложение в Titanium, и в настоящее время я интегрирую карты Google с аннотациями. Я захватываю данные из моего API, но я ударил кирпичную стену, пытаясь сделать это легко для себя.
Для предисловия, модуль карты я использую позволяет мне сделать следующее:
mapView.addAnnotations([anno1,anno2,anno3]);
и
mapView.removeAnnotations([anno1,anno2,anno3]);
Я хотел бы создать функцию, которая позволяет мне добавить annotiations и удалите их при запрошенном пользователем обновлении аннотаций карты.
Я в настоящее время в точке, где у меня есть это:
var annotations = {};
for(c = 0; c <= countedOffers; c++) {
var offerName = offers[c]['offer_name'];
var offerCat = offers[c]['offer_cat_id'];
var offerlong = offers[c]['offer_long'];
var offerlat = offers[c]['offer_lat']
var anno = 'offer'+c;
if(anno in annotations == false) {
annotations['anno'+c] = {'name':offerName, 'offercat': offerCat, 'offerlng':offerlong, 'offerlat':offerlat};
}
if(countedOffers - c == 1) {
loopThrough(annotations);
}
}
Я могу добавить выше annotiations делать что-то вроде этого:
var annotation = maps.createAnnotation({
lat:,
lng:,
etc...
});
mapView.addAnnotation(annotation);
function loopThrough(obj){
for(var key in obj){
if(!obj.hasOwnProperty(key)) continue;
if(typeof obj[key] !== 'object'){
Ti.API.error(obj[key]);
} else {
loopThrough(obj[key]);
}
}
}
Ti.API.error дает мне что-то вроде этого:
joshes big burger house
1
-1.2577
51.7520
joshes big burger house
3
-1.2577
51.7520
jj offer
1
-1.2577
51.7520
No Photo
1
-1.2577
51.7520
joshes web offer
2
-1.2577
51.7520
Joshes Web Offer
3
-1.2577
51.7520
Это хорошо, но я бы хотел, чтобы они были внутри переменной или вещь, которую я могу пропустить. Я всегда буду знать, сколько мне нужно добавить и удалить.
mapView.addAnnotations([anno1,anno2,anno3]);
mapView.removeAnnotations([anno1,anno2,anno3]);
Я думал, что я мог бы взрывать (или нечто подобное) и получить ключи объекта и поместить их в вышеприведенном добавить/удалить аннотации
Извините, если что-то неясно, я буду обновлять свой вопрос, если необходимо.
Возможно, это поможет: https://lodash.com/docs#toArray –