动态传递路径路径和fence路径以跟踪Here API中的对象(GEO FENCING)

时间:2014-06-26 09:57:46

标签: jquery ajax arrays geofencing here-api

我使用Here Javascript API Explorer来跟踪一个主要用于Geo Fencing的移动地图对象。我想动态传递路径路径和fence路径,因为它到目前为止在代码中是硬编码的。

我试过用javascript array.push方法做到这一点,即动态传递两者的值。但它帮助我追加数组,但路由和围栏的路径没有加载,因为页面只加载一次,那时两个数组都是空的。

    var routeArr = [52.53805, 13.4205, 52.53765, 13.42156, 52.53811, 13.42188,
52.53862, 13.42232, 52.53929, 13.42283, 52.53921, 13.42333];
    var routeArr2 = [52.53805, 13.4209, 52.53765, 13.42156, 52.53811, 13.42188,
52.53862, 13.42232, 52.53929, 13.42284, 52.53921, 13.42333];
                    var route = new nokia.maps.map.Polyline(
                                    new nokia.maps.geo.Strip(
                                            routeArr,
                                            "values lat lng"),
                                    { color: "#7FFF00", width: 2 }
                            ),
                            imageMarker = new nokia.maps.map.Marker(
                                    route.path.get(0),
                                    {
                                        icon: "../../res/markerTruck.png",
                                        $id: "marker",
                                        anchor: {x: 21, y: 41}
                                    }
                            ),
                            circle = new nokia.maps.map.Polyline(
                                    new nokia.maps.geo.Strip(
                                            routeArr2,
                                            "values lat lng"),
                                    { color: "#000000", width: 2}
                            ),

    sceneContainer = new nokia.maps.map.Container([route, imageMarker, circle]);


                    map.addListener("displayready", function () {
                        map.objects.add(sceneContainer);
                        map.zoomTo(sceneContainer.getBoundingBox());
                    })

            ;

我想动态传递routeArr和routeArr2的上述值。 我们是否必须在页面加载之前提供路径路径和fence路径,或者是否有一种方法可以动态地传递数组?

1 个答案:

答案 0 :(得分:0)

MapObject至少需要1个Point坐标和2个坐标作为形状。因此,您可以使用RouteArr1和RouteArr2初始化对象,然后使用routePolyline.set(“path”,STRIP)更改它; STRIP是你的新地带。