.gif маркер гугл карты - PullRequest
14 голосов
/ 12 мая 2011

У меня в коде это

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 Ответ

44 голосов
/ 12 мая 2011

Как правило, маркеры используют то, что называется оптимизированным рендерингом, который всегда отображает маркеры как статические. Чтобы увидеть анимированные картинки, вам нужно установить optimized = false на маркер. Код для создания вашего маркера будет:

var marker = new google.maps.Marker({
    position: latLng,
    map: map,
    icon: iconoMarca,
    optimized: false
  });

Это должно решить вашу проблему.

Ps .: Кажется, в вашем коде есть небольшая ошибка:

var iconoMarca = "/assets/giftRayo.gif");  

Вы должны удалить).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...