有沒有很好的方法來優化Google Maps API v3在爲圖標使用SVG符號時如何將標記繪製到HTML文檔?這裏是一個標記使用SVG符號的一個例子:在谷歌地圖中優化SVG標記
var star = {
path: 'M 125,5 155,90 245,90 175,145 200,230 125,180 50,230 75,145 5,90 95,90 z',
fillColor: 'yellow'
};
var marker = new google.maps.Marker({
position: map.getCenter(),
icon: star,
map: map,
optimized: true //Does not seem to do anything..
});
谷歌已將此屬性稱爲「優化」,可以在標記進行設置,例如使用PNG圖標,而不是SVG圖形時,這工作得很好:谷歌創建每個圖塊只有一個單獨的畫布,而不是每個圖標一個圖像,這顯然要好得多。
然而,使用SVG標記時,「優化」屬性似乎沒有做任何事情:它們似乎總是在每個標記的一個畫布中繪製。當我有很多標記時,某些瀏覽器開始出現性能問題。 Chrome通常可以很好地處理它,但是IE9在處理很多標記之前並未顯示出明顯的性能問題。在這種情況下,羣集不是一種選擇。
有沒有人知道有什麼好的方法來優化它,讓瀏覽器可以同時處理更多的SVG標記?
我使用了很多svg多邊形標記,但是我從svg文件中調用它們。我不記得是否有性能改善與路徑。值得一試的是測試多邊形文件與路徑 –
'optimize'默認設置爲'true',我不能說出爲什麼(在這種情況下)你會將它設置爲false;也許@geocodezip可以有一些幫助?我不驚訝地看到,「Chrome處理得很好,但IE9 *不*」,但您注意到的問題和/或關於*性能問題的一些詳細信息的實例將會是一個優點。很好的問題btw。 – MrUpsidown
你知道DOM中提供的圖標怎麼樣?我可以爲每個標記看到一個像''canvas width =「14」height =「13」draggable =「false」style =「position:absolute; left:0px; top:0px; -webkit-user-select: none;「>'和一個'transparent.png'圖片。 –