我在Google地图上绘制折线和多边形。它们在Internet Explorer 9中正确显示,但在IE8或IE7中没有显示。我遇到过一些帖子,谈论IE9中修复的数组的“悬挂逗号”问题,它可能与我遇到的问题有关,但我不知道如何遇到这种情况因为我的代码如何工作。我创建“google.maps.LatLng”对象并将它们“推”到一个数组中。我在创建“google.maps.Polygon”对象时将数组作为“path”参数传递。我没有任何代码通过在列表中的项之间插入逗号来构建数组。
var polygonPoints = new Array();
var point1 = new google.maps.LatLng(myLat1, myLong1);
polygonPoints.push(point1);
var point2 = new google.maps.LatLng(myLat2, myLong2);
polygonPoints.push(point2);
var point3 = new google.maps.LatLng(myLat3, myLong3);
polygonPoints.push(point3);
var myPolygon = new google.maps.Polygon({
path: polygonPoints,
strokeColor: "#FFFF00",
strokeOpacity: 1.0, strokeWeight: 2,
fillOpacity: 0.0
});
如何在IE8和IE7中显示多边形? (折线也不会显示,但标记会显示。)
答案 0 :(得分:1)
这需要一些实验,但我想出来了。解决方法是更改以下行:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
到此:
<!DOCTYPE html>
现在它适用于IE7和IE8以及大多数其他浏览器。希望这对其他人有帮助!
答案 1 :(得分:0)
现在它适用于IE7和IE8以及大多数其他浏览器。希望这对其他人有帮助!
嗨MylesRip! 我在iframe中加载谷歌地图,但我无法加载多边形。 万一,我不使用iframe,它工作正常。 我使用iframe的原因是因为我需要在打印时避免破坏地图
== 我写EN非常糟糕。