2009-01-08 62 views

回答

1

可能需要一点澄清,但要确保你使用的是谷歌地图的MapMouseEvent,不是Flash API的点击事件(请假设在Map子类中,此代码):

public class GoogleMap extends Map 
{ 
    import com.google.maps.LatLng; 
    import com.google.maps.Map; 
    import com.google.maps.MapEvent; 
    import com.google.maps.MapMouseEvent; 

    public function GoogleMap():void 
    { 
     super(); 
     this.key = "YOUR_API_KEY"; 

     addEventListener(MapEvent.MAP_READY, _onMapReady); 
     addEventListener(MapMouseEvent.CLICK, _onMapClick); 
     addEventListener(MapMouseEvent.DOUBLE_CLICK, _onMapDoubleClick); 
    } 

    protected function _onMapClick(event:MapMouseEvent):void 
    { 
     trace("single!"); 
     var mousePoint:Point = new Point(mouseX, mouseY); 
     var mousePointLocal:Point = globalToLocal(mousePoint); 
     var mouseLatLng:LatLng = this.fromViewportToLatLng(mousePointLocal); 
    } 

    protected function _onMapDoubleClick(event:MapMouseEvent):void 
    { 
     trace("double!"); 
    } 

    protected function _onMapReady(event:MapEvent):void 
    { 
     trace("ready!") 
    } 
}