.gif标记谷歌地图 [英] .gif marker google maps

查看:150
本文介绍了.gif标记谷歌地图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的代码中有这个

  var map; 
函数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动画是否有另一种治疗方法?

解决方案

作为标准,标记使用称为优化渲染的东西,总是将标记渲染为静态。要查看动画gif,您需要在标记上设置optimized = false。用于生成标记的代码将是:

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

这应该可以解决您的问题。

Ps:
您的代码似乎有一个小错误:

  var iconoMarca =/ assets / giftRayo .gif要点); 

您应该删除)。


I have in my code this

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
      });
    }
  }

but the marker doesn't appear and if I use a png or jpeg it works. What am I doing wrong?? Do the gif animations have another treatment?

解决方案

As a standard, the markers use something called optimized rendering that always renders the markers as static. To see animated gifs you need to set optimized = false on your marker. The code for generating your marker would then be:

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

This should solve your problem.

Ps.: You seem to have a small bug in your code:

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

You should remove the ).

这篇关于.gif标记谷歌地图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆