2012-03-26 72 views
1

我嘗試在Google地圖總覽地圖(位於Google地圖窗口的右下角區域)中更改藍色矩形的顏色。 不幸的是,在Google地圖v3的文檔中沒有任何關於此的說法。 你有想法嗎?如何更改總覽圖(Google Maps v3)中矩形的顏色?

+0

overvieMap是啓用時地圖內的小地圖(位於右下角)。 – 2012-03-27 00:34:29

+0

Thanks @ Dr.Molle - 如果您已在Google地圖窗口的右下角區域中激活了總覽地圖,則會看到當前有大矩形的大地圖。這是我想要着色的矩形 - 默認爲藍色... – 2012-03-27 00:46:00

回答

1

沒有辦法通過API着色任何東西。

你可以做什麼:使用JS找到元素,然後使用CSS來應用顏色。

例子:

google.maps.event.addListenerOnce(map,'tilesloaded',function() 
     { 
      try{ 
      var x=document.querySelector('img[src=\'http://maps.gstatic.com/mapfiles/mapcontrols3d7.png\']'); 
      if(x) 
      { 
       x.parentNode.parentNode.previousSibling.className="overviewMap"; 
       var y=document.querySelectorAll('.overviewMap>div>div>div>div>div>div'); 
       y[1].className="overviewMapRectangle"; 
      } 
      }catch(e){} 
     } 
     ); 

,這似乎是唯一有這樣的圖像(http://maps.gstatic.com/mapfiles/mapcontrols3d7.png)的唯一的事情,它是用來打開箭頭/關閉overviewMap。該腳本搜索該圖像並穿過DOM來查找該矩形。它將向可以用作選擇器的矩形(overviewMapRectangle)添加一個類。

採樣CSS:

.overviewMapRectangle + div > div{border:none !important} 
.overviewMapRectangle div{border-color: inherit !important} 
/*border-color of the rectangle*/ 
.overviewMapRectangle{border-color: yellow !important}  
/*background-color of the rectangle*/ 
.overviewMapRectangle>div>div{background: red !important} 

演示:http://jsfiddle.net/doktormolle/ULmW5/

的問題:谷歌可能會改變明天的地圖的DOM,它不會工作了。

+0

非常感謝您的易於理解的解釋!這幫了我很多...... – 2012-03-27 03:03:19