google 点击 Div 地图标记更新
google map Marker update on clicking on Div
我是 google 地图的新手。现在我正在使用 angularjs 的 ng-map。当我点击 div 时,我发现很难为制作者添加动画(如弹跳)。谁能告诉我该怎么做?
我已经编写了一个示例,说明如何通过单击 Div 元素来为标记设置动画(请参阅地图下方的 div,其中包含文本 "Div element - Click me to toggle marker animation!")。可以在这里找到:
http://plnkr.co/edit/KATXex?p=preview
标记动画的代码如下:
if (marker.getAnimation() !== null) {
marker.setAnimation(null);
} else {
marker.setAnimation(google.maps.Animation.BOUNCE);
}
请注意,为了让它正常工作,我必须在 "on" 事件中将标记的动画 属性 设置为空,例如
$scope.$on('mapInitialized', function(evt, evtMap) {
map = evtMap;
var mapMarker = map.markers[0];
mapMarker.setAnimation(null);
marker = mapMarker;
});
默认情况下它是未定义的,这意味着如果没有这一步,您通常必须点击标记两次,一次是将动画设置为空,第二次是设置动画,例如反弹。 "undefined" 的问题可能是 ng-maps 库的问题。
我是 google 地图的新手。现在我正在使用 angularjs 的 ng-map。当我点击 div 时,我发现很难为制作者添加动画(如弹跳)。谁能告诉我该怎么做?
我已经编写了一个示例,说明如何通过单击 Div 元素来为标记设置动画(请参阅地图下方的 div,其中包含文本 "Div element - Click me to toggle marker animation!")。可以在这里找到:
http://plnkr.co/edit/KATXex?p=preview
标记动画的代码如下:
if (marker.getAnimation() !== null) {
marker.setAnimation(null);
} else {
marker.setAnimation(google.maps.Animation.BOUNCE);
}
请注意,为了让它正常工作,我必须在 "on" 事件中将标记的动画 属性 设置为空,例如
$scope.$on('mapInitialized', function(evt, evtMap) {
map = evtMap;
var mapMarker = map.markers[0];
mapMarker.setAnimation(null);
marker = mapMarker;
});
默认情况下它是未定义的,这意味着如果没有这一步,您通常必须点击标记两次,一次是将动画设置为空,第二次是设置动画,例如反弹。 "undefined" 的问题可能是 ng-maps 库的问题。