代码之家  ›  专栏  ›  技术社区  ›  Sajid

Titanium iPhone Mapview未显示pin注释中的标题或字幕

  •  1
  • Sajid  · 技术社区  · 12 年前

    我对地图视图有意见。
    当我使用钛合金sdk 3.0.2.GA时,标题和副标题显示在pin上, 但当我使用钛合金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);
    

    //创建地图视图

    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 回复  |  直到 12 年前
        1
  •  2
  •   romainsalles    12 年前

    要使代码正常工作,您必须调用 选择注释 功能。

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

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

    变成这个:

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

    然后,您可以删除 mapview.addAnnotation(亚特兰大) 部分这是无用的,因为您已经使用 注释 的财产 钛地图创建视图 .

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

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

    此代码适用于 3.1.0加仑 .