Google maps 要在google maps api多边形中填充更多颜色

Google maps 要在google maps api多边形中填充更多颜色,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我有以下问题与绘制一个多边形谷歌地图api。看起来有很多颜色。以下多边形的中心不应具有fillColor 是谷歌地图API还是我有bug 例如: })) 我现在已经在IE8中尝试了上述方法,并在IE8中得到了正确的结果 如果要在多边形中创建“孔” 图形管理器不直接支持它们 您需要有单独的路径(多边形“路径”属性采用数组) 内部路径(“孔”)需要以与内部路径相反的方向缠绕 就我所知没有虫子?多边形的外部边界形成一个完整的形状,因此最外层的整个内部被填充。如果边缘没有接触,那么你用箭头指向的区

我有以下问题与绘制一个多边形谷歌地图api。看起来有很多颜色。以下多边形的中心不应具有fillColor

是谷歌地图API还是我有bug

例如:

}))

我现在已经在IE8中尝试了上述方法,并在IE8中得到了正确的结果

如果要在多边形中创建“孔”

  • 图形管理器不直接支持它们
  • 您需要有单独的路径(多边形“路径”属性采用数组)
  • 内部路径(“孔”)需要以与内部路径相反的方向缠绕

  • 就我所知没有虫子?多边形的外部边界形成一个完整的形状,因此最外层的整个内部被填充。如果边缘没有接触,那么你用箭头指向的区域应该是清晰的,但它们确实如此。目的不是为了打洞。我只是觉得我可以拖动多边形的位置和填充颜色的位置是有区别的。我认为中间不应该有fillColor。自交多边形是一个难题(它们实际上不受支持)。如果您希望交叉口中不会出现填方,则它需要是一条单独的路径,并朝相反方向旋转。从你拥有的点来计算是可能的,但不是微不足道的。
    $(function(){
    var shape;
    
    var mapDiv = document.getElementById('map-canvas');
    var map = new google.maps.Map(mapDiv, {
        center: new google.maps.LatLng(24.886436490787712, -70.2685546875),
        zoom: 4,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    });
    
    var coords = [
        new google.maps.LatLng(31.50362, -70.0488),
        new google.maps.LatLng(29.91685, -62.4023),
        new google.maps.LatLng(22.91792, -56.42578),
        new google.maps.LatLng(22.67484, -69.6972),
        new google.maps.LatLng(27.29368, -74.8828),
        new google.maps.LatLng(33.06392, -73.3007),
        new google.maps.LatLng(34.23451, -66.0058),
        new google.maps.LatLng(32.32427, -58.2714),
        new google.maps.LatLng(26.35249, -56.4257),
        new google.maps.LatLng(18.81271, -60.64453),
        new google.maps.LatLng(20.13847, -69.4335)
    ];
    
    shape = new google.maps.Polygon({
        paths: coords,
        strokeColor: '#ff0000',
        strokeOpacity: 0.8,
        strokeWeight: 2,
        draggable: true,
        fillColor: '#ff0000',
        fillOpacity: 0.35
    });
    
    shape.setMap(map);
    
    var coords = [
     [  new google.maps.LatLng(27.29368, -74.8828),
        new google.maps.LatLng(33.06392, -73.3007),
        new google.maps.LatLng(34.23451, -66.0058),
        new google.maps.LatLng(32.32427, -58.2714),
        new google.maps.LatLng(26.35249, -56.4257),
        new google.maps.LatLng(18.81271, -60.64453),
        new google.maps.LatLng(20.13847, -69.4335)
    ],
        [
        new google.maps.LatLng(21.534847,-63.28125),
        new google.maps.LatLng(30.221102,-59.677734), 
        new google.maps.LatLng(30.600094,-71.279297)
        ]
    ];