我正在尝试添加" fadeToggle"对我的一个标记产生影响。
创建标记:
var bangalore = new nokia.maps.map.Marker(
// Geo coordinate of hyderabad
[12.9667, 77.5667],
{
title: "Bangalore",
visibility: true,
anchor: markerImageAnchor
});
启用" fadeToggle":
bangalore.addListener("fadeToggle", function () {
// Call the fading toggle animation
$(this).fadeToggle("slow", function () {
// Trigger another fadeToggle event to recurs the animation
$(this).event.trigger("fadeToggle");
});
}).event.trigger("fadeToggle");
将标记添加到地图:
map.objects.addAll([bangalore]);
我正在认真做错事。我得到的错误是"无法获得属性的价值'触发':对象为空或未定义"。
答案 0 :(得分:1)
标记banagalore
不是DOM对象,它只是用于将标记渲染到地图上的数据集合,因此事件监视器中的$(this)
为null
幸运的是,jQuery UI库可以在任何<canvas>
上播放标准动画,您需要做的就是搜索DOM以查找实际渲染的标记。
例如,在地图上fadeOut
第N 个标记,您可以执行以下操作:
function markerFadeOut(index) {
$($(".nma_p2d_0_markerLayer").children()[index]).fadeOut(10000);
}
一旦地图显示准备好就可以调用...
map.addListener('displayready', function () {
map.objects.add(new nokia.maps.map.Marker([19.119, 72.8957]);
markerFadeOut(0);
}, false);
这将访问标记图层中的第n个子DOM对象。修改jQuery以根据需要使用fade
。