在FireFox和Chrome中查看地图时,我在OpenLayers地图上显示图标时遇到问题。为了隔离这种行为,我创建了一个Openlayers 3脚本,通过从KML文件加载数据在地图上显示图标。我使用的脚本基于此Openlayers示例:
http://openlayers.org/en/v3.4.0/examples/kml.html
对此脚本的修改包括引用我的KML源文件和要显示的地图类型。
当kml图标引用网址指向Google时,图标会正确显示:
<Icon>
<href>http://maps.gstatic.com/mapfiles/ridefinder-images/mm_20_red.png</href>
</Icon>
但是,当我将图标引用更改为位于我服务器上的同一图标时,Chrome或FireFox中不会显示该图标。
<Icon>
<href>http://www.photoradius.com/data/assets/icons/mm_20_brown.png</href>
</Icon>
在我的所有测试用例中,图标在IE中按预期显示。
供参考,以下是示例文件:
1)图标在所有浏览器中按预期显示: http://photoradius.com/debugol3/kml_google.htm kml文件中的图标引用: http://maps.gstatic.com/mapfiles/ridefinder-images/mm_20_red.png
2)图标不会显示在Chrome或FireFox中(但在IE中会显示) http://photoradius.com/debugol3/kml_local.htm kml文件中的图标引用: http://www.photoradius.com/debugol3/icons/mm_20_brown.png
因此,我创建的两个示例中唯一的区别是图标的位置。如果该图标位于Google服务器上,则会在所有浏览器中绘制该图标。如果它驻留在我的服务器上,则只有IE绘制图标。
欢迎任何建议。 问候。