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 没有,我无法指定它。

例如。

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

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

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

4

1 回答 1

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 等。对于我的应用程序,它似乎使图标对齐得很好,看起来还不错。

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

于 2012-08-05T03:12:27.303 回答