Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 显示标记Google Map API的标签_C#_Wpf_Actionscript 3_Flash - Fatal编程技术网

C# 显示标记Google Map API的标签

C# 显示标记Google Map API的标签,c#,wpf,actionscript-3,flash,C#,Wpf,Actionscript 3,Flash,我的WPF应用程序使用用于GoogleMap的FlashAPI。一切正常,除了当用户单击引出序号时,我需要显示一些自定义详细信息 actionscript代码如下所示: var map:Map = new Map(); map.key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; map.sensor = "true"; var marker : Marker; map.setSize(new Point(stage.stageWidth, stage.stag

我的WPF应用程序使用用于GoogleMap的FlashAPI。一切正常,除了当用户单击引出序号时,我需要显示一些自定义详细信息

actionscript代码如下所示:

var map:Map = new Map(); 
map.key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; 
map.sensor = "true"; 
var marker : Marker; 
map.setSize(new Point(stage.stageWidth, stage.stageHeight)); 
map.addEventListener(MapEvent.MAP_READY, onMapReady); 
this.addChild(map);  

var CustN:String;

function onMapReady(event:Event):void 
{   
    var centerLL : LatLng = new LatLng(38.05,-77.036562); 
    map.setCenter( centerLL, 10, MapType.NORMAL_MAP_TYPE); 
    map.addControl(new ZoomControl());
    map.addControl(new PositionControl()); 
    map.addControl(new MapTypeControl());   
    marker = new Marker( centerLL );  
    map.addOverlay( marker );   
    ExternalInterface.addCallback("Search",onSearch); 
}

function onSearch(lat:Number, lon:Number, CustName:String ):void 
{
    CustN  = CustName; 
    var centerLL : LatLng = new LatLng(lat,lon); 
    map.setCenter(centerLL, 10, MapType.NORMAL_MAP_TYPE);   
    marker = new Marker( centerLL );  
    marker.addEventListener(MapMouseEvent.CLICK, onMapClick); 
    map.addOverlay( marker ); 
}

function onMapClick(event:MapMouseEvent):void 
{  
    map.openInfoWindow(event.latLng, new InfoWindowOptions({title: "Click Event", content: CustN})); 
}
我从C#代码中调用onSearch函数,如下所示:

 foreach (var rec in LstCoOrdinates)
        {
            XElement call = new XElement("invoke", new XAttribute("name", "Search"), new XAttribute("returntype", "xml"), new XElement("arguments", new XElement("number", rec.latitude)),
                new XElement("arguments", new XElement("number", rec.longitude)), new XElement("arguments", new XElement("string", rec.name)));
            axFlash.CallFunction(call.ToString(SaveOptions.DisableFormatting));
        }

我需要显示与单击的气球对应的名称

您可以在g标记中指定DisplayObject.icon属性。并在单击时更改其可见性。 预定义标签或按需设置标签

marker = new Marker( centerLL );  
marker.icon = new LabelSprite();
marker.icon.visible = false;
marker.addEventListener(MapMouseEvent.CLICK, onMapClick); 
map.addOverlay( marker );

function onMapClick( e:Event ):void
{
  if(selectedMarker) 
     selectedMarker.icon.visible = false;

  selectedMarker = e.currentTarget as Marker;
  selectedMarker.icon.visible = true;
}


public class LabelSprite extends Sprite
{
  private var labelTextField:TextField;

  public function LabelSprite()
  {
    labelTextField = new TextField();
    addChild(labelTextField);
  }

  public function set labelText(value:String):void
  {
    labelTextField.text = value;
  }
}