[英]How to adjust opacity of TMS layer in google maps api v3?
我在Google地图中具有以下TMS层:
KantoRapidMapType.prototype.tileSize = new google.maps.Size(256,256);
KantoRapidMapType.prototype.maxZoom = 17;
KantoRapidMapType.prototype.name = "Rapid Survey";
KantoRapidMapType.prototype.alt = "Rapid Survey Map in Kanto Plain";
KantoRapidMapType.prototype.getTile = function(tile, zoom, ownerDocument) {
var img = ownerDocument.createElement("img");
img.style.width = this.tileSize.width + "px";
img.style.height = this.tileSize.height + "px";
var y = (1<<zoom) - tile.y - 1;
img.src = "http://www.finds.jp/ws/tms/"
+"1.0.0/"
+"Kanto_Rapid-900913/"
+ zoom + "/" + tile.x + "/" + y + ".png";
return img;
};
我使用以下命令添加TMS层:var kanto = new KantoRapidMapType(); map.overlayMapTypes.insertAt(0,kanto);
如何设置此图层的不透明度? 当我尝试类似的东西时:
kanto.setOpacity(0.5)
我只是未定义,因为关东没有setOpacity函数。 我注意到ImageMapType似乎支持setOpacity,但是不确定是否可以包装或将其转换为它。
实现方法getTileUrl
而不是getTile
:
KantoRapidMapType=function(opts){
//apply supplied options
opts=opts||{};
for(var k in opts){
this[k]=opts[k];
}
}
KantoRapidMapType.prototype.tileSize = new google.maps.Size(256,256);
KantoRapidMapType.prototype.maxZoom = 17;
KantoRapidMapType.prototype.name = "Rapid Survey";
KantoRapidMapType.prototype.alt = "Rapid Survey Map in Kanto Plain";
KantoRapidMapType.prototype.getTileUrl=function(tile,zoom){
var y = (1<<zoom) - tile.y - 1;
return("http://www.finds.jp/ws/tms/"
+"1.0.0/"
+"Kanto_Rapid-900913/"
+ zoom + "/" + tile.x + "/" + y + ".png");
}
要继承ImageMapType
的方法,请创建一个ImageMapType
的新实例,并将新的KantoRapidMapType实例作为参数传递:
var kanto = new google.maps.ImageMapType(new KantoRapidMapType());
//set the opacity
kanto.setOpacity(.5);
或直接通过以下选项传递不透明度:
var kanto = new google.maps.ImageMapType(new KantoRapidMapType({opacity:.5}));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.