2012-08-01 57 views
3

我有以下代碼,它是Google Maps V3上的自定義圖標。我想用jQuery.Rotate插件旋轉它。Google Maps v3 MarkerImage&jQuery.Rotate

var image = new google.maps.MarkerImage(
    "markers/test.png", 
    new google.maps.Size(52, 52), // size 
    new google.maps.Point(0, 0), // origin 
    new google.maps.Point(20, 0) // anchor 
); 


marker = new google.maps.Marker(
{ 
    map: map, 
    draggable: false, 
    position: markerData[i].latLng, 
    visible: true, 
    icon: image, 
    optimized: false 
}); 

問題是jQuery.Rotate是想要的DOM ID來識別旋轉元素.. Markerimage沒有一個,我不能指定。

例如,

<img src="img" id="image"> 
$("#image").rotate(15); 

誰能告訴我一些示例代碼,讓我要麼分配一個ID,MarkerImage使jQuery.Rotate可以使用它如。 #image假設id是id =「image」,還是有另一種告訴jQuery.Rotate使用MarkerImage而不是指向DOM元素的方法?

任何幫助,將不勝感激..如果我找不到這個答案,我需要創建360個版本的同一個圖標我使用的每個圖標有很多。我更喜歡使用這個特殊的插件。希望有一個簡單的答案。

+1

如果任何人能夠協助這個,它將不勝感激。如果有更簡單的方法,我真的不想創建數百個圖標。 – gleff 2012-08-02 07:45:31

+0

你見過這個嗎? http://stackoverflow.com/questions/2065485/get-dom-element-of-a-marker-in-google-maps-api-3 – Stephan 2012-10-22 14:57:49

回答

1

我無法提供'答案',只是一個暗示和觀察。

假設您的地圖是名爲「地圖」的DOM對象,請查看DOM對象map.l.innerContainer.outerHtml。 (這是一個小寫「l」 - map.l)

在outerHtml中,在許多其他div中,您應該能夠找到包含圖標的img文件的div。

我想和你做同樣的事情,即時旋轉圖標,但我還沒有找到時間,看看我是否可以組織一種方法在這些div上添加一個id,以方便使用jquery旋轉它們。 div是由api創建的。

文獻中描述了一些DOM突變事件(如DOMNodeInsertedIntoDocument),但顯然它們的實現是不可靠/不均勻的,聽起來像它們已從W3C規範中刪除。我還沒有嘗試過任何這些,所以無法從個人經驗中發表評論。

就我而言,我只是決定爲每個基本方向創建圖標文件,N NNE NE ENE等等。對於我的應用程序來說,它似乎使圖標對齊得足以看起來不錯。

如果您成功完成您的任務,請在此爲其他人分享您的解決方案。

+0

非常感謝。我會在這個週末多看看它。 – gleff 2012-08-07 21:38:20

+0

@gleff有什麼好運? – Danger14 2015-07-31 22:27:11