我有一个关于 mapview 的问题。
当我使用 titanium sdk 3.0.2.GA 时,标题和副标题显示在图钉上,
但是当我使用 titanium sdk 3.1.0.GA 时,标题和副标题不会显示在 pin 上。
我的代码如下
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);
//创建 map View
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;
如何在 titanium sdk 3.1.0.GA 中修复它? 谢谢
最佳答案
要使您的代码正常工作,您必须在窗口打开后调用 selectAnnotation 函数。
因此,您只需更改此代码:
mapview.addAnnotation(atlanta);
mapview.selectAnnotation(atlanta);
进入这个:
mapview.addAnnotation(atlanta);
win.addEventListener('open', function(e){
mapview.selectAnnotation(atlanta);
});
然后,您可以删除 mapview.addAnnotation(atlanta) 部分。这是无用的,因为您已经使用 Titanium.Map.createView 的 annotations 属性添加了注释。
因此,您的最终代码将是:
win.addEventListener('open', function(e){
mapview.selectAnnotation(atlanta);
});
此代码适用于 3.1.0.GA。
关于javascript - Titanium iPhone Mapview 不显示来自引脚注释的标题或副标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18822963/