2012-01-04 71 views
4

我想知道如何通過Google地圖標記創建效果/動畫。具體而言,我想在給定時間後放大/縮小或「淡化」標記。用HTML5可以嗎?有沒有任何jQuery效果庫這樣做?帶Google地圖標記的效果和動畫

提前(我可以使用地圖瓦片服務器創建地圖方塊疊加層,並重新生成瓷磚覆蓋每一秒,但我想這是非常處理密集型...)

感謝

回答

4

我還沒有見過任何圖書館這樣做,並且API中沒有功能來淡化標記。

相反,您可以通過創建自己的Custom Overlay來模擬標記,它看起來像一個標記。自定義疊加層通常包含一個div,您可以輕鬆控制基於在自定義疊加層構造過程中分配的類或標識符的JavaScript/jQuery的不透明度。例如,如果您看一下this頁面,您可以看到該按鈕用於切換可見性,您可以輕鬆更改該JavaScript以控制某物的不透明度。

2

我正在尋找類似的東西。 如果您爲所有標記設置標記選項'optimize:false',則每個標記都會有自己的元素,然後可以使用jQuery來選擇地圖上的所有標記,方法是使用$('#map_canvas img [src * =「文件名」]'),假設您使用自定義圖像作爲標記。

這不能解決的問題是將數組中的每個元素都返回給特定的標記。 我認爲你可以一次一個地將標記添加到地圖上,重新運行jquery選擇器,並比較返回的元素與上一次運行的元素,以查看哪個元素是新的。我沒有測試過這個部分(我在第一段中有我的說法),因爲我正在嘗試一些稍微不同的東西。

然後您應該可以直接調整圖像的不透明度/大小。 這可能會讓大量標記變得笨重。


上面的第二段是愚蠢的。

向地圖添加標記,確保設置優化:false選項。那麼

var freshlyAddedMarkerImage = $('#map_canvas img[src*="your_marker_icon"][class!="adjustMe"]'); 

新添加的標記不會有類,所以將是唯一選中的元素。在設置className之前,可以設置一個ID,將該元素添加到相同索引位置的數組中,並將相應的標記對象保存在另一個數組中等。

這應該比實施起來要笨得多我以前提出過。我會盡快回來一個實例。

我想,如果你知道由於年齡相同或者其他因素共享相同的變換(縮放/淡入淡出)的標記組,那麼你可以添加所有這些元素,只做jQuery select最後,在循環返回的元素之前設置一個允許您全面調整它們的類。