6

有一次我可以发誓,我看到了一个使用 Google Maps JavaScript API v3 来创建效果的演示,您的地图标记图标似乎从天上掉下来并落在地图上。

我已经搜索和搜索,包括查看 API,但找不到该示例。

有没有人了解如何完成这个用例的更多信息?

谢谢

4

5 回答 5

2

从最新的 3.3 版本开始,只需添加动画:google.maps.Animation.DROP

创建标记时添加到您的属性列表中。它为你做这一切。弹跳也是可能的,尽管我发现如果没有一种简单的方法让它弹跳一次并停止,它的麻烦多于它的价值。

于 2010-12-18T04:48:42.850 回答
2

按照giogigaOverlayView的建议进行扩展可能是最安全的方法,但这显然不是简单的方法,因为Marker它有很多内置的东西,如图标、阴影和可拖动性。

只扩展类真的很诱人Marker,但是该类是不透明的——它不会显示其内部结构,例如,您无法轻松访问底层 DOM 元素,您需要为标记设置动画。你可以用 hack 一些东西setPosition,但结果将是一些脆弱和错误的东西。或者,您可以侵入底层 DOM 节点,但您的可能会更加脆弱。

因此,似乎完全重新实现Marker仍然是最好的方法。

于 2010-11-18T14:17:01.967 回答
0

标记动画现在是 v3 API 的一部分。

http://code.google.com/apis/maps/documentation/javascript/overlays.html#MarkerAnimations

于 2011-02-02T09:41:05.247 回答
0

我对 Google API 了解不多,但我知道你可以用简单的jQuery做到这一点

于 2010-11-04T22:03:56.173 回答
0

您应该实现您的自定义标记类扩展google.maps.OverlayView.

基本上,这相当于实现 3 种方法:onAdd/onRemove(它们是启动动画的良好候选者)和绘制(可能应该只是更新标记位置)。

于 2010-11-12T16:21:48.460 回答