Titanium iPhone Mapview不显示引脚注释中的标题或副标题

时间:2013-09-16 07:55:58

标签: javascript ios maps titanium

我对mapview有疑问 当我使用钛sdk 3.0.2.GA然后标题和副标题显示在引脚上, 但是当我使用钛sdk 3.1.0.GA时,标题和副标题没有显示在别针上。

我的代码在

下面
function LocationUIWindow(title) {
var self = Ti.UI.createWindow({
    title:title,
    backgroundColor:'#222222'
});

self.barColor = '#c61b17';

var h = Ti.Platform.displayCaps.platformHeight;

self.orientationModes = [Titanium.UI.PORTRAIT];

createMapView(self,33.74511,-84.38993);

return self;
};

function createMapView(win,lat,lng){
var atlantaParams = {
    latitude:lat,
    longitude:lng,
    title:"Atlanta, GA",
    subtitle:'Atlanta Braves Stadium\nfoo',
    animate:true,
    myid:3, // CUSTOM ATTRIBUTE THAT IS PASSED INTO EVENT OBJECTS
    pincolor : Titanium.Map.ANNOTATION_PURPLE
};

var atlanta = Titanium.Map.createAnnotation(atlantaParams);

//创建地图视图

var presetAnnotations = [atlanta];
var mapview = Titanium.Map.createView({
    mapType: Titanium.Map.STANDARD_TYPE,
    region:{latitude:lat, longitude:lng, latitudeDelta:0.5, longitudeDelta:0.5},
    animate:true,
    regionFit:true,
    userLocation:true,
    annotations:presetAnnotations
});

mapview.addAnnotation(atlanta);
mapview.selectAnnotation(atlanta);
win.add(mapview);
}

module.exports = LocationUIWindow; 

如何在钛sdk 3.1.0.GA中修复它? 感谢

1 个答案:

答案 0 :(得分:2)

要使代码正常工作,您必须在打开窗口后调用 selectAnnotation 函数。

因此,您只需更改此代码:

mapview.addAnnotation(atlanta);
mapview.selectAnnotation(atlanta);

进入这一个:

mapview.addAnnotation(atlanta);
win.addEventListener('open', function(e){
    mapview.selectAnnotation(atlanta);
});

然后,您可以删除 mapview.addAnnotation(atlanta)部分。由于您已经使用 Titanium.Map.createView 注释属性添加了注释,因此无用。

因此,您最终的代码将是:

win.addEventListener('open', function(e){
    mapview.selectAnnotation(atlanta);
});

此代码适用于 3.1.0.GA