我曾经看到过一个演示,使用Google Maps JavaScript API v3创建了一个效果,似乎你的地图标记图标从天空落下并着陆在地图上。
我已经搜索了很多,包括查看API,但找不到这个例子。
有没有人对如何实现这个用例有更多的信息?
谢谢
我曾经看到过一个演示,使用Google Maps JavaScript API v3创建了一个效果,似乎你的地图标记图标从天空落下并着陆在地图上。
我已经搜索了很多,包括查看API,但找不到这个例子。
有没有人对如何实现这个用例有更多的信息?
谢谢
在最新的3.3版本中,只需在创建标记时添加属性列表中的以下内容:Animation: google.maps.Animation.DROP。它会自动完成所有操作。弹跳也是可能的,但我发现如果没有一种简单的方法使其仅弹跳一次并停止,那么它将带来更多麻烦。
按照giogiga的建议,只需将OverlayView
扩展一下可能是最安全的方法,但显然不是最简单的方法,因为Marker
内置了很多东西,如图标、阴影和可拖动性。
只扩展Marker
类的想法确实很诱人,但这个类是不透明的——它不会显示其内部细节,例如您不能轻松访问底层DOM元素,而这正是您需要用来对标记进行动画处理的。您可以通过setPosition
来搞出点东西,但结果将是脆弱且容易出错的。或者,您可以钻进底层DOM节点,但这样您的代码就更加脆弱了。
因此,重新实现Marker
仍然是最好的方法。
我对Google API不是很了解,但我知道你可以只用普通的jQuery来做到这一点。
google.maps.OverlayView
。