簡體   English   中英

如何在Google Maps API v3中調整TMS圖層的不透明度?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM