.gif marker google maps
У меня в моем коде это
var map;
function initialize() {
var mapDiv = document.getElementById('map-canvas');
map = new google.maps.Map(mapDiv, {
center: new google.maps.LatLng(37.4419, -122.1419),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
google.maps.event.addListenerOnce(map, 'tilesloaded', addMarkers);
}
function addMarkers() {
var iconoMarca = "/assets/giftRayo.gif");
var bounds = map.getBounds();
var southWest = bounds.getSouthWest();
var northEast = bounds.getNorthEast();
var lngSpan = northEast.lng() - southWest.lng();
var latSpan = northEast.lat() - southWest.lat();
for (var i = 0; i < 10; i++) {
var latLng = new google.maps.LatLng(southWest.lat() + latSpan * Math.random(),
southWest.lng() + lngSpan * Math.random());
var marker = new google.maps.Marker({
position: latLng,
map: map,
icon: iconoMarca
});
}
}
но маркер не появляется, и если я использую png или jpeg, он работает. Что я делаю не так?? У анимации gif есть другое лечение?
Ответы
Ответ 1
В качестве стандарта маркеры используют то, что называется оптимизированным рендерингом, который всегда делает маркеры статическими. Чтобы увидеть анимированные gifs, вам нужно установить optimized = false на ваш маркер. Тогда код для создания маркера будет следующим:
var marker = new google.maps.Marker({
position: latLng,
map: map,
icon: iconoMarca,
optimized: false
});
Это должно решить вашу проблему.
Ps.:
У вас, похоже, небольшая ошибка в коде:
var iconoMarca = "/assets/giftRayo.gif");
Вы должны удалить).