Ответ 1
Это ошибка webkit, но вы можете найти решение здесь: http://groups.google.com/group/google-maps-js-api-v3/browse_thread/thread/ccaaee32b89e3656/c87bb19e4662bd78#c87bb19e4662bd78
Я пытаюсь поместить видео 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, нажав "Подробнее..." на в правом верхнем углу карты, а затем с помощью "Видео".
Это ошибка webkit, но вы можете найти решение здесь: http://groups.google.com/group/google-maps-js-api-v3/browse_thread/thread/ccaaee32b89e3656/c87bb19e4662bd78#c87bb19e4662bd78
Получилось частичное решение, использование режима вставки 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>
Недавно я решил эту проблему, добавив стиль: iframe { -webkit-transform:translate3d(0,0,0); }
в мой файл css. В моем случае весь динамический контент уже был внутри iFrame, и у меня все еще была эта проблема. Я видел это предложение преобразования где-то некоторое время назад, но только попробовал это сегодня. Я тестировал его в Chrome и Safari в Windows 7. По-прежнему существует некоторое отставание в позиции, но в настоящее время оно отлично работает.