2012-08-01 139 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