谷歌地图Api v3折线和多边形分割



我已经开发了一个简单的谷歌地图应用程序与他们的api在版本3。由于我的机器上一切正常,我把它发给了我的同事,他报告说,在他的计算机上,折线断行并以随机的方式移动它的部分(如图所示)。类似的事情也发生在区域上,它也会随着轮廓线移动填充的一部分。

折线的代码非常简单:
var opts = eval(json);
var options = {
    strokeColor: opts.color,
    strokeOpacity: opts.opacity,
    strokeWeight: opts.weight,
    geodesic: true
}; 
var line = new google.maps.Polyline(options);
line.setPath(google.maps.geometry.encoding.decodePath(opts.points));
line.setMap(map);

,我真的不知道这是什么原因。这看起来像是谷歌地图渲染中的一个错误。他每次都这样,而且是在不稳定的地方。同事正在使用IE 9,而我(和其他同事,谁也没有遇到这个错误)IE 8。

所以我问是否有人遇到过类似的问题,或者知道是什么原因导致的。

编辑:我已经将IE更新到版本9,在我的PC上仍然可以正常工作,所以这不是IE版本问题。

编辑2:这是由于同事系统的dpi不正常造成的。较高的dpi值导致谷歌地图渲染不正确。我在谷歌上的研究没有给出任何有用的解决方案(除了微不足道的"更改dpi")。如果有人有任何想法如何解决这个问题,我将不胜感激。

提前感谢您的建议

与EDIT2中的问题一样,此故障是由非标准dpi设置引起的。Google对此的官方立场是将系统dpi更改为标准,因此目前可能没有可行的解决方案。

可能是json字符串是像json = "{...}"一样的字符串化对象吗?在本例中,用圆括号括起来:

var opts = eval("(" + json + ")");

eval()计算表达式表达式不能以花括号开头。

编辑:更好的是

var opts = JSON.parse(json);

最新更新