переместить точку через заданные позиции открытых слоев 2 - PullRequest
0 голосов
/ 04 октября 2018

Можно ли перемещать точку только через позиции, сохраненные в массиве?

У меня есть массив вариантов, который представляет маршрут на карте.

allPathCoordinates = [ //array representing route

    @foreach (var myitem in Model)
    {
        var dlat = @myitem.latitude;
        var slat = dlat.ToString().Replace(",", ".");

        var dlon = @myitem.longitude;
        var slon = dlon.ToString().Replace(",", ".");
       <text>new OpenLayers.LonLat(@slon, @slat),</text> 
    }
];

Я установил точку в начале маршрута и хочу переместить эту точку только через этот маршрут.У меня уже есть перетаскиваемая точка, но ее можно перемещать в любом месте на карте.

//create draggable point on map
        var center = new OpenLayers.LonLat(longitude.ToString(),latitude.ToString()).transform(fromProjection, toProjection);
        var point = new OpenLayers.Geometry.Point(center.lon,center.lat);
        var vectors = new OpenLayers.Layer.Vector("Vector Layer");
        map.addLayer(vectors)
        vectors.addFeatures([new OpenLayers.Feature.Vector(point)]);

        drag = new OpenLayers.Control.DragFeature(vectors, {

            autoActivate: true,
            onComplete: function() {alert('move!')}
        });

        map.addControl(drag);
        map.setCenter(center, 15);
...