我正在创建一个小地图应用程序,在那里您可以获得有关大学不同校园的信息,视频和图像。
我正在使用customContent方法将视频播放器对象插入到infoWindow中,但是当我这样做时,它会删除我的文本内容并成为用户唯一可见的东西。
我如何解决这个问题,并在infoWindow中同时包含文字和视频?
public function createMarker(latlng:LatLng, name:String, address:String, video:String):Marker
{
var marker:Marker=new Marker(latlng);
marker.addEventListener(MapMouseEvent.CLICK, function(e:MapMouseEvent):void
{
//marker.openInfoWindow(new InfoWindowOptions({contentHTML:html + moulVid}));
var infoWindow:InfoWindowOptions = new InfoWindowOptions();
infoWindow.title = name;
var videoPlayer:VideoPlayer = new VideoPlayer();
videoPlayer.source = '../assets/video/' + video.toLocaleLowerCase();
videoPlayer.autoPlay = false;
videoPlayer.alpha = 0.8;
titleFormat = new TextFormat();
titleFormat.font = "Arial";
titleFormat.size = 14;
titleFormat.bold = true;
contentFormat = new TextFormat();
contentFormat.font = "Arial";
contentFormat.size = 12;
infoWindow.drawDefaultFrame = true;
infoWindow.titleFormat = titleFormat;
if (video != "") {
infoWindow.customContent = videoPlayer;
infoWindow.height = 300;
}
infoWindow.width = 380;
infoWindow.content = address;
infoWindow.contentFormat = contentFormat;
infoWindow.padding = 10;
marker.openInfoWindow(infoWindow);
});
答案 0 :(得分:2)
您需要创建一个新对象,称为VideoAndTextInfoWindow,使其扩展DisplayObject。现在在该组件的构造函数中创建并添加一个VideoPlayer和一个TextField。该组件可能只是公开公开videoSource和text属性。为这些属性创建setter,以便它们在VideoPlayer和TextField实例上设置正确的属性。现在将infoWindow.customContent设置为VideoAndTextInfoWindow组件的新实例。