本来想发这个的,后来想通了。但无论如何我都会将它发布给其他需要它的人。吸取的教训是,如果您希望它们在 IE 中工作,则将 .ico 文件用于自定义标记图像。(附带说明,它在 Safari 中仍然无法正常工作,但这是另一个问题。)
一段时间以来,我遇到了一个问题,即使用自定义图像创建的 Google Maps API V3 标记不会显示在 IE 或 Safari 中。它在我测试过的所有其他浏览器中都能正常工作,但我们的大多数用户群仍在 IE 上,所以我需要修复这个问题。
这显然是一个已知问题(至少对 Google 而言),如以下 Google 支持线程所示: http ://www.google.com/support/forum/p/maps/thread?tid=26db8fd040386548&hl=en
我想知道是否有其他人遇到过这个问题或知道解决方法?
这是我创建的一个简单测试页面的 js,它演示了这个错误:
var map;
var latLng = new google.maps.LatLng(41.342, -84.932);
$(function() {
var myOptions = {
zoom: 17,
center: latLng,
mapTypeId: google.maps.MapTypeId.HYBRID
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var newMarker = new google.maps.Marker({
map: map,
position: latLng,
icon: 'images/active_point.png'
});
});
修复:我将图像转换为 active_point.ico,这对 IE 来说效果很好。出于某种原因,IE 不喜欢我的 .png。
经过更多研究后,似乎必须将 Safari 视为一种特殊情况,因为它似乎不适用于 .ico 或 .png 标记图像。我只让 .jpgs 工作,这很烦人,因为它们不支持 alpha 通道。