Google Maps v3 MarkerImage& jQuery.Rotate

时间:2012-08-01 04:19:24

标签: google-maps-api-3

我有以下代码,这是Google Maps V3上的自定义图标。我想使用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没有一个,我无法指定它。

EG。

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

任何人都可以给我看一些示例代码,它允许我为MarkerImage分配一个id,以便jQuery.Rotate可以使用它,例如。 #image假设id是id =“image”,还是有另一种方法告诉jQuery.Rotate使用MarkerImage而不是指向DOM元素?

任何帮助将不胜感激..如果我找不到答案,我需要为我使用的每个图标创建相同图标的360个版本,其中有很多。我更喜欢使用这个特定的插件。希望有一个简单的答案。

1 个答案:

答案 0 :(得分: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等。对于我的应用程序,似乎可以使图标对齐,看起来不错。

如果您成功完成任务,请在此处与他人分享您的解决方案。