如何改变overlaymaptypes的不透明度?

时间:2013-04-09 21:50:52

标签: javascript google-maps google-maps-api-3

添加到地图后,如何更改overlayMapTypes的不透明度?

        var imgTypeOptions = {
            getTileUrl: function (coord, zoom) {                               
                return "myTile/" + f + ".png";        
            },
            tileSize: new google.maps.Size(256, 256),
            name: "Imagen",
            opacity: .5 //This is Ok, the first time set the opacity
            //but i want to change the opacity later
        };

...
        var imgMapType = new google.maps.ImageMapType(imgTypeOptions);
...
    map.overlayMapTypes.insertAt(0, imgMapType);

我希望能够点击“25%”链接,并将添加的图层的不透明度设置为25%。

3 个答案:

答案 0 :(得分:4)

在3.28中你必须使用getter。请尝试以下代码:

map.overlayMapTypes.getAt(0).setOpacity(0.25)

答案 1 :(得分:3)

查看ImageMapType api文档:

https://developers.google.com/maps/documentation/javascript/reference#ImageMapType

这样的事情应该有效。

map.overlayMapTypes[0].setOpacity(.25) 

答案 2 :(得分:0)

在2018年,这就是您处理我的工作示例的方式。

我使用开放式街道地图图块

 z= zoom  
 x= coord.x  
 y= coord.y

https://tile.openstreetmap.org/10/261/380.png

https://tile.openstreetmap.org/${z}/${x}/${y}.png 

对于图块,您应该使用ImageMapTypes

然后使用

   map.overlayMapTypes.push(imageMapType);

   map.overlayMapTypes.insertAt(
        0, new CoordMapType(new google.maps.Size(256, 256)));

在Google基础层上添加新的图块层。

您可以通过以下方式设置不透明度:

 // for old api

 //map.overlayMapTypes[0].setOpacity(0.25);





   //for 3.28 api  (in 2018)

   map.overlayMapTypes.getAt(0).setOpacity(0.5);

here is my working example jsfiddle, for overlay tile use ImageMapTypes

另一种方法:

sample: use coordMapType instead of ImageMapTypes