我的代码中有
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动画有另外一种治疗方法吗?
答案 0 :(得分:44)
作为标准,标记使用称为优化渲染的东西,始终将标记呈现为静态。要查看GIF动画,您需要在标记上设置optimized = false。然后,生成标记的代码为:
var marker = new google.maps.Marker({
position: latLng,
map: map,
icon: iconoMarca,
optimized: false
});
这可以解决您的问题。
诗.: 您似乎在代码中有一个小错误:
var iconoMarca = "/assets/giftRayo.gif");
你应该删除)。