0
对不起,广泛的问题标题。Javascript objects&loops
我在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 –