诺基亚动画标记在这里映射Web开发

时间:2014-08-27 09:15:23

标签: jquery here-api

我正在尝试添加" 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]);  

我正在认真做错事。我得到的错误是"无法获得属性的价值'触发':对象为空或未定义"。

1 个答案:

答案 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

相关问题