【问题标题】:Flex Flashbuilder Google MapsFlex Flashbuilder 谷歌地图
【发布时间】:2011-10-21 03:54:37
【问题描述】:

您好,我想知道是否有人可以帮助我解决我正在尝试使用 Flex 和谷歌地图解决的问题。

我有一张由标记填充的地图。每个标记都有一个事件监听器。我希望实现的是,当单击每个标记时,数据网格会填充与该标记关联的数据。但是目前我只能用 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 where LatLng = event.latLng 但我对 flex 真的很陌生,所以我根本想不通。

非常感谢任何可能使我走上正轨的想法。

L

【问题讨论】:

    标签: apache-flex google-maps-api-3


    【解决方案1】:

    试试这个:

    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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多