0

我正在使用谷歌地图 api V3。我有一个多边形点数组,就像这个链接的变量'triangleCoords'一样。

我正在使用按钮单击动态生成地图..

我想放置相同的多边形以包含在所有地图中。

正如我正在尝试的那样,多边形仅显示在生成的最新地图上。

我希望多边形像图像链接中一样

4

1 回答 1

2

您只能将 google.maps.Polygon 添加到一张地图。如果您有多张地图,则需要为每张地图制作一张。

function initialize() {
    var myLatLng = new google.maps.LatLng(24.886436490787712, -70.2685546875);
    var mapOptions = {
      zoom: 4,
      center: myLatLng,
      mapTypeId: google.maps.MapTypeId.TERRAIN
    };

    var bermudaTriangle;

    var map = new google.maps.Map(document.getElementById('map-canvas'),
        mapOptions);
    var map2 = new google.maps.Map(document.getElementById('map-canvas2'),
        mapOptions);
    var map3 = new google.maps.Map(document.getElementById('map-canvas3'),
        mapOptions);


    var triangleCoords = [
        new google.maps.LatLng(25.774252, -80.190262),
        new google.maps.LatLng(18.466465, -66.118292),
        new google.maps.LatLng(32.321384, -64.75737),
        new google.maps.LatLng(25.774252, -80.190262)
    ];

    // Construct the polygon
    var bermudaTriangle1 = new google.maps.Polygon({
      paths: triangleCoords,
      strokeColor: '#FF0000',
      strokeOpacity: 0.8,
      strokeWeight: 2,
      fillColor: '#FF0000',
      fillOpacity: 0.35
    });
    var bermudaTriangle2 = new google.maps.Polygon({
      map: map2,
      paths: triangleCoords,
      strokeColor: '#FF0000',
      strokeOpacity: 0.8,
      strokeWeight: 2,
      fillColor: '#FF0000',
      fillOpacity: 0.35
    });
    var bermudaTriangle3 = new google.maps.Polygon({
      map: map3,
      paths: triangleCoords,
      strokeColor: '#FF0000',
      strokeOpacity: 0.8,
      strokeWeight: 2,
      fillColor: '#FF0000',
      fillOpacity: 0.35
    });

    bermudaTriangle1.setMap(map);
  }

例子

于 2013-03-20T04:53:58.380 回答