我对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中修复它? 感谢
答案 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 。