0

通过调用我的函数 drawGmapLine() 我的浏览器说“line.setMap 不是函数”。我的地图创建没有任何问题。你能看出问题吗?

function drawGmapLine(id) {
    var map =  $("#map");

    var pfad = [
            new google.maps.LatLng(37.772323, -122.214897),
            new google.maps.LatLng(21.291982, -157.821856),
            new google.maps.LatLng(-18.142599, 178.431),
            new google.maps.LatLng(-27.46758, 153.027892)
        ];

        var line = new google.maps.Polyline({
          path: pfad,
          strokeColor: '#FF0000',
          strokeOpacity: 1.0,
          strokeWeight: 2
        });

        line.setMap(map);
}
4

2 回答 2

1

您正在使用的插件 (jQuery GMap) 使用 Maps V2。您上面的代码是使用 Maps V3 编写的。您需要找到更新的插件或直接使用 Maps V3 API 才能使new google.maps.Polyline()调用正常工作。

于 2012-12-26T14:44:24.063 回答
0

这不是获取对 google.maps.Map 对象的引用的正确方法。

var map =  $("#map");

所以这行不通:

line.setMap(map);

通常的解决方案是在构建地图时保留对地图的引用。

var map = new google.maps.Map(...);
于 2012-12-26T15:08:30.553 回答