无法在钛金属加速器中添加到当前窗口。获取类型错误

时间:2010-10-05 19:02:05

标签: android types titanium appcelerator

我刚刚开始使用android学习钛移动版。我按照所有的安装步骤,得到了hello world脚本,只需在android模拟器中找到它。问题是我试图使用示例代码来查看它是如何工作的。我目前遇到问题的示例代码是:

    var win = Titanium.UI.currentWindow;

var mapview = Titanium.Map.createView({
    mapType: Titanium.Map.STANDARD_TYPE,
    region:{latitude:33.74511, longitude:-84.38993, latitudeDelta:0.5, longitudeDelta:0.5},
    animate:true,
    regionFit:true,
    userLocation:true
});
win.add(mapview);

当我在模拟器中运行时,我收到以下错误:

TypeError:无法调用null的方法“add”。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

我认为在Ti.Map.createView()中,您错过了annotations参数。创建MapView的完整代码必须如下:

var win = Titanium.UI.currentWindow;
var anno1 = Titanium.Map.createAnnotation({
    latitude:33.74, longitude:84.38,
    title:'POI 1',
    pincolor:Ti.Map.ANNOTATION_RED
});
var anno2 = Titanium.Map.createAnnotation({
    latitude:33.75, longitude:84.39,
    title:'POI 2',
    pincolor:Ti.Map.ANNOTATION_RED
});
var mapview = Titanium.Map.createView({
    mapType: Titanium.Map.STANDARD_TYPE,
    region:{latitude:33.74511, longitude:-84.38993, latitudeDelta:0.5, longitudeDelta:0.5},
    animate:true,
    regionFit:true,
    userLocation:true,
    annotations:[anno1, anno2]
});
win.add(mapview);

试试这个,让我知道它是否有效:)