2011-08-05 56 views
0

嗨,我想知道是否有人可以幫我解決我想用Flex &谷歌地圖解決的問題。Flex Flashbuilder谷歌地圖

我有一個由標記填充的地圖。每個標記都有一個事件監聽器。我希望能夠實現的是,當點擊每個標記時,數據網格會填充與該標記相關的數據。然而,目前我只能用LatLng對象填充數據網格。我需要找到一種方法來訪問與該標記相關的其他數據。

這裏是我的事件偵聽器:

private function createMarker(latlng:LatLng, int:Number, tip:String, desc:String):Marker 
{ 
    var m:Marker = new Marker (latlng, new MarkerOptions ({hasShadow: true, tooltip: "" +tip})); 
    m.addEventListener(MapMouseEvent.CLICK, function(event:MapMouseEvent):void 
     {details.addItem(event.latLng.toString());}); 
    return m; 
} 

我想這可能是一起的GetItem的線,其中經緯度= event.latLng但我真的很新的彎曲,所以我無法弄清楚在所有。

任何想法都可能讓我走上正確的軌道將非常感激。

大號

回答

0

試試這個:

private var markerArray:Array = []; 
private var markerDescriptsArray:Array = []; 
private function createMarker(latlng:LatLng, int:Number, tip:String, desc:String):Marker 
{ 
    var m:Marker = new Marker (latlng, new MarkerOptions ({hasShadow: true, tooltip: "" +tip})); 
    m.addEventListener(MapMouseEvent.CLICK, function(event:MapMouseEvent):void 
    { 
     var _mIndex:uint; 
     for (var i:uint = 0; i < markerArray.length; i++) 
     { 
      if(markerArray[i] == Marker(e.currentTarget)) _mIndex = i; 
     } 
     details.addItem(markerDescriptsArray[_mIndex]); 
    }); 
    markerArray.push(m); 
    markerDescriptsArray.push(desc); 
    return m; 
} 
+0

它是否適合你? – Spencer