2012-02-03 86 views
0

它的礦在Titanium SDK第2天。鈦:如何在地圖上顯示多個註釋?

我想在地圖上顯示多個註釋。我已經在SO提到了答案,但找不到修復!

我嘗試下面的代碼: -

// To create map 
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:[createAnnotations()], 
     top:110, 
     height:200 
    }); 

// CREATE ANNOTATIONS 

function createAnnotations() 
{ 
    var annoatationData = []; 
    for (var i=0; i < 10; i++) 
    { 
      var mountainView = Titanium.Map.createAnnotation(
      { 
       latitude:37.390749, 
       longitude:-122.081651, 
       title:"Appcelerator Headquarters", 
       subtitle:'Mountain View, CA', 
       pincolor: isAndroid ? "orange" : Titanium.Map.ANNOTATION_RED, 
       animate:true, 
       myid:i // CUSTOM ATTRIBUTE THAT IS PASSED INTO EVENT OBJECTS 
      }); 

     annoatationData.push(mountainView); 
    }; 

    return annoatationData ; 
} 

但我收到此錯誤

[錯誤]無效類型傳遞給函數。預期:的NSDictionary,是: __NSArrayM在 - [TiMapView annotationFromArg:](TiMapView.m:96)

任何建議?

謝謝...

+0

有一點需要注意:如果您使用的是您的註釋的自定義視圖,你必須創建一個視圖的一個實例爲每個註釋。我犯了一個錯誤,即將相同的視圖傳遞給每個註釋,並且使得只有最後一個註釋纔可見。 – 2014-02-20 13:57:35

回答

3

解決了!

剛剛更換這行代碼:

annotations:[createAnnotations()], 

annotations:createAnnotations(), 
+0

現在接受它是最好的答案;)你有一個對象在一個對象中,這確實不起作用:) – 2012-02-03 13:43:29

+0

@Topener如何設置區域動態像說它應該與我的第一個註釋相同? – Maulik 2012-02-03 13:47:28

+0

請給SO添加另一個問題 – 2012-02-03 14:21:26