2015-06-30 68 views
1

使用谷歌地圖API v3。谷歌地圖api v3標誌符號圈像素直徑?

我想創建標記物圈子,所以我用下面的(唯一相關的代碼顯示):

var icn = { fillColor: "#0000FF", 
      fillOpacity: 1.0, 
      path: google.maps.SymbolPath.CIRCLE, 
      scale: 4, 
      strokeColor: "#0000FF", 
      strokeWeight: 1.0 }; 

var m = new google.maps.Marker({ map: my_map, position: p, icon: icn }); 

偉大工程......

但如何計算(或控制)圓的直徑(以像素爲單位)?根據API文檔:

比例 - 數字按比例縮放符號的大小。對於 符號標記,默認爲1;縮放之後,該符號可以是任何大小的 。對於多段線上的符號,這默認爲多段線的筆劃重量 ;縮放後,符號必須位於以符號的錨點爲中心的大小爲22像素的方塊內。

有人能(谷歌),請澄清:

一)對於一個圓形符號,如果strokeWeight,用於爲1.0和規模爲4,那麼圓直徑就是以像素爲單位?有創建特定像素直徑的圓的一些神奇的公式嗎?

b)圓的最大尺寸是否限制爲22像素?似乎並不是這種情況,因爲我可以縮放到幾乎任何尺寸 - 再次澄清 - 僅在折線上符號的22像素限制?

回答

1

的路徑內置圓:

M -1,0 A 1,1 0 0 0 1,0 1,1 0 0 0 -1,0 z 

....所以路徑的直徑是2px的

行程將半重疊的填充,所以你可以使用下面的公式用於內置CIRCLE計算完整符號的直徑(包括中風):您例如

(scale*2)+strokeWeight//where strokeWeight defaults to scale 

將導致直徑爲9px

22px限制與折線上的符號有關(IconSequences),當您將符號用作標記時,沒有限制。