当前位置:编程学习 > C#/ASP.NET >>

关于百度地图api函数的一个问题

最近几天没事看了下百度地图的api,在覆盖物->标注沿着现运动中见到如下一个函数,纠结了好久没有看懂怎么运行的
特此向大神求助啊!给个详细点的解释。先谢谢了
driving.setSearchCompleteCallback(function(){
        var pts = driving.getResults().getPlan(0).getRoute(0).getPath();    //通过驾车实例,获得一系列点的数组
        var paths = pts.length;    //获得有几个点

        var carMk = new BMap.Marker(pts[0],{icon:myIcon});
        map.addOverlay(carMk);
        i=0;
        function resetMkPoint(i){
            carMk.setPosition(pts[i]);
            if(i < paths){
                setTimeout(function(){
                    i++;
                    resetMkPoint(i);
                },100);
            }
        }
        setTimeout(function(){
            resetMkPoint(5);
        },100)

    });
}
--------------------编程问答-------------------- 我没有用过这个东西,不过地图相关的知识我知道一点。你贴得程序,看字面的意思,它应该是在搜索一条路线结束的时候被调用,首先将搜索结果保存起来,然后创建一个标记点,然后从第6个坐标点开始、每隔100毫秒将标记点移动到下一个坐标点,直到达到最后一个点。

这里没有使用什么for循环,而是使用调用timer(类似于递归,但是不是递归)来完成定时移动到下一个点。

那个代码
i=0;
我认为是没有用的代码。 --------------------编程问答--------------------

百度的api 注释很详细吧。。。
--------------------编程问答--------------------
引用 1 楼  的回复:
我没有用过这个东西,不过地图相关的知识我知道一点。你贴得程序,看字面的意思,它应该是在搜索一条路线结束的时候被调用,首先将搜索结果保存起来,然后创建一个标记点,然后从第6个坐标点开始、每隔100毫秒将标记点移动到下一个坐标点,直到达到最后一个点。

这里没有使用什么for循环,而是使用调用timer(类似于递归,但是不是递归)来完成定时移动到下一个点。

那个代码JScript code……

代码我是在百度提供的实例里复制的 
不过 您所说的不是递归类似递归 我还是不能理解 到底是怎么运行的
主要就是resetMkPoint(i)这个函数 --------------------编程问答--------------------
引用 2 楼  的回复:
百度的api 注释很详细吧。。。

在这个函数中真的没理解了
网址如下http://dev.baidu.com/wiki/static/map/API/examples/?v=1.3&3_9#3&9
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,