Quantcast
Channel: Active questions tagged youtube-api - Stack Overflow
Viewing all articles
Browse latest Browse all 3712

Google map API v3: YoutTube videos are not played in infowindow. I get a blank window instead?

$
0
0

I am trying to put youtube videos inside infowindows, but it is not working. I get only empty windows.

Here is my code. Since it is my first Javascript project, I am sure that I am doing something wrong. Can you please help me find where the problem is?

I tried it on Chrome and Firefox.

<!DOCTYPE html><html><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"></head><body><div id="map"></div><script>  function initMap(){    // Map options    var centerCoords = new google.maps.LatLng(52.2799, 8.0472);    var options = {      zoom:8,      center:centerCoords,      mapTypeId: google.maps.MapTypeId.TERRAIN    // satellite, hybrid, terrain, roadmap    }    // New map    var map = new google.maps.Map(document.getElementById('map'), options);    // Listen for click on map    google.maps.event.addListener(map, 'click', function(event){      // Add marker      addMarker({coords:event.latLng});    });    // Array of markers    var markers = [      {        coords: new google.maps.LatLng(52.2799, 8.0472),        //content:'<h1> Osnabrueck </h1>',        url: getYoutubeId('https://www.youtube.com/r6UbYB5yMX8'),        //iconImage:'https://developers.google.com/maps/documentation/javascript/examples/full/images/beachflag.png',      }      ];    var any_window =false;    for(var i = 0;i < markers.length;i++){      // Add marker      addMarker(markers[i], any_window);    }    function addMarker(props, any_window){      var marker = new google.maps.Marker({        position:props.coords,        map:map,        //icon:props.iconImage      });      // Check for customicon      if(props.iconImage){        // Set icon image        marker.setIcon(props.iconImage);      }      // Check content      if(props.url){        var infoWindow = new google.maps.InfoWindow({          embed_url: "https://www.youtube.com/embed/"+ props.url,          content: '<video controls="" style="height:350px; width:600px;><iframe title="YouTube video player">'+'<type="text/html" allow="autoplay; encrypted-media" src=embed_url frameborder="0" allowfullscreen></iframe></video>'        });        marker.addListener('click', function(){  //click, mouseover, mouseout          if (!any_window){            infoWindow.open(map, marker);            any_window = true;          }        });      } // end if props.content    } //addMarker//################ get youtube id function ######################    function getYoutubeId(url){      var videoid = url.match(/(?:https?:\/{2})?(?:w{3}\.)?youtu(?:be)?\.(?:com|be)(?:\/watch\?v=|\/)([^\s&]+)/);      if(videoid == null) {        console.log(url +" is not a valid YouTube url");      }        return videoid[1];      };//###############################################################  } //initMap</script><!--  ###########################################################  --><script async defer    src="https://maps.googleapis.com/maps/api/js?key=***API_KEY***&callback=initMap"></script></body></html>

Viewing all articles
Browse latest Browse all 3712

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>