2014-10-11 59 views
0

我想說明添加到我的鈦地圖,我一直用這個錯誤結束了:嘗試註釋添加到我的地圖在鈦3.4

「線= 37;

消息=」無效的類型傳遞給函數 「;

無效的類型傳遞給函數」

nativeLocation = 「 - [TiMapViewProxy annotationFromArg:](TiMapViewProxy.m:120)」;

nativeReason =「預期:對象,是:NSNull」;」

這裏是我的代碼,據我所知,它應該工作

//This is the code to implement a map and store locations using annotations 
var locationsTabGroup = Titanium.UI.createTabGroup({ 
    barColor: '#E62B2B' 
}); 


var locationsToHome = Titanium.UI.createButton({ 
title: 'Back', 
titleAttributes: { 
color: 'white' 
}, 
backgroundImage: 'images/revisedbackbutton2.png', 
height: 35, 
width: 80, 
borderRadius: 10 
}); 

var locationsWindow = Titanium.UI.createWindow({ 
    leftNavButton: locationsToHome, 
    title:'Select Store', 
    tabBarHidden: true, 
    titleAttributes: { 
     color:'white' 
     } 
}); 

var MapModule = require('ti.map'); 

var locationsMap = MapModule.createView({ 
    mapType: MapModule.NORMAL_TYPE, 
    animate: true, 
    region: {latitude: -27.962939, longitude: 153.382428, latitudeDelta: 0.1, longitudeDelta: 0.1 }, 
    height: '100%', 
    top: 0, 
    width: Ti.UI.FILL, 
    annotations: [store1] 
}); 

var store1 = MapModule.createAnnotation({ 
    latitude: -27.465868, 
    longitude: 153.028309, 
    pincolor: MapModule.ANNOTATION_RED, 
    title: 'Pita Pit Brisbane', 
    subtitle: '280 Adelaide St, Brisbane QLD 4000' 
}); 

var store2 = MapModule.createAnnotation({ 
    latitude: -27.499154, 
    longitude: 152.972711, 
    pincolor: MapModule.ANNOTATION_RED, 
    title: 'Pita Pit Indooroopilly', 
    subtitle: '322 Moggill Rd, Indooroopilly QLD 4068' 
}); 

var store3 = MapModule.createAnnotation({ 
    latitude: -27.453312, 
    longitude: 153.034908, 
    pincolor: MapModule.ANNOTATION_RED, 
    title: 'Pita Pit Green Square', 
    subtitle: '6/515 St Pauls Terrace, Fortitude Valley QLD 4006' 
}); 

var locationsTab = Titanium.UI.createTab({ 
    window: locationsWindow 
}); 

locationsWindow.add(locationsMap); 
locationsTabGroup.addTab(locationsTab); 

回答

0

您正在使用的註釋創建之前。 你應該所有的註釋將它們傳遞到地圖前申報。

或者在創建不設置批註和使用locationsMap.setAnnotations([store1, store2, store3]);一旦您的註解已被宣佈。