2010-10-31 3 views
1

Я создаю небольшое приложение карты, где вам предоставляется информация, видео и изображения относительно разных кампусов в университете.Google Maps Flash API Пользовательский контент Проблема

Я использую метод customContent для вставки объекта видеоплеера в инфо-окно, но когда я это делаю, он избавляется от моего текстового контента и становится единственной видимой вещью для пользователя.

Как я могу обойти это и иметь как текст, так и видео в infoWindow?

Demo link

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

ответ

2

Вам нужно создать новый объект, называемый его как VideoAndTextInfoWindow, сделать его продлить DisplayObject. Теперь в конструкторе этого компонента создайте и добавьте VideoPlayer и TextField. Этот компонент может публично публиковать объект видеоисточника и текст. Создайте сеттеры для этих свойств, чтобы они установили правильные свойства в экземплярах VideoPlayer и TextField. Теперь установите для параметра infoWindow.customContent новый экземпляр вашего компонента VideoAndTextInfoWindow.

+0

спасибо. Это решило мою проблему – XGreen

Смежные вопросы