Подтвердить что ты не робот

Видео YouTube в окне информации о карте Google

Я пытаюсь поместить видео youtube в информационное окно Google Map (v3).

Он отлично работает в Firefox и Internet Explorer.

Он не работает в Safari и Chrome. В этих браузерах позиционирование выключено и видео не перемещается при перемещении карты. Видео также иногда прерывается.

Вот код, который doe

<!doctype html>
<html>
<head>
<script src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script>
var map;
function initialize() {
    latlng = new google.maps.LatLng(33.4222685, -111.8226402)
    myOptions = {
      zoom: 4,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("map"),myOptions)
    var point = new google.maps.LatLng(33.4222685, -111.8226402);
    var marker = new google.maps.Marker({
        position: point,
        map: map
    })
    google.maps.event.addListener(marker, "click", function(){
        bubble = new google.maps.InfoWindow({
          content: '<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/UmFjNiiVk9w?fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/UmFjNiiVk9w?fs=1" type="application/x-shockwave-flash" width="425" height="344" allowscriptaccess="always" allowfullscreen="true"></embed></object>'
        })
        bubble.open(map, marker);
    })
}
</script>
</head>
<body onload="initialize();">
  <div id="map" style="width: 984px; height: 495px"></div>
</div>
</body>
</html>

Пример того, что он отлично работает для API Карт Google версии 2, находится здесь http://www.virtualvideomap.com/

Также на http://maps.google.com Вы можете просмотреть видеоролики youtube внутри информационного окна, работающего в Chrome и Safari, нажав "Подробнее..." на в правом верхнем углу карты, а затем с помощью "Видео".

4b9b3361

Ответ 2

Получилось частичное решение, использование режима вставки iframe отсортировало проблему со мной!

Надеюсь, что это поможет!

<!doctype html>
<html>
<head>
<script src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script>
var map;
function initialize() {
    latlng = new google.maps.LatLng(33.4222685, -111.8226402)
    myOptions = {
      zoom: 4,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("map"),myOptions)
    var point = new google.maps.LatLng(33.4222685, -111.8226402);
    var marker = new google.maps.Marker({
        position: point,
        map: map
    })
    google.maps.event.addListener(marker, "click", function(){
        bubble = new google.maps.InfoWindow({
          content: '<iframe title="YouTube video player" class="youtube-player" type="text/html" width="480" height="390" src="http://www.youtube.com/embed/UmFjNiiVk9w?rel=0" frameborder="0"></iframe>'
        })
        bubble.open(map, marker);
    })
}
</script>
</head>
<body onload="initialize();">
  <div id="map" style="width: 984px; height: 495px"></div>
</div>
</body>
</html>

Ответ 3

Недавно я решил эту проблему, добавив стиль:
iframe { -webkit-transform:translate3d(0,0,0); }
в мой файл css. В моем случае весь динамический контент уже был внутри iFrame, и у меня все еще была эта проблема. Я видел это предложение преобразования где-то некоторое время назад, но только попробовал это сегодня. Я тестировал его в Chrome и Safari в Windows 7. По-прежнему существует некоторое отставание в позиции, но в настоящее время оно отлично работает.