5

添加到地图后如何更改 overlayMapType 不透明度?

        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%。

4

3 回答 3

4

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

map.overlayMapTypes.getAt(0).setOpacity(0.25)
于 2017-03-06T05:47:50.197 回答
3

查看 ImageMapType api 文档:

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

像这样的东西应该工作。

map.overlayMapTypes[0].setOpacity(.25) 
于 2013-04-09T21:58:49.610 回答
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)));

在谷歌基础层上添加新的瓦片层。

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

 // for old api

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





   //for 3.28 api  (in 2018)

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

这是我的工作示例 jsfiddle,用于覆盖图块使用 ImageMapTypes

另一种方法:

示例:使用 coordMapType 而不是 ImageMapTypes

于 2018-09-14T18:08:21.383 回答