Ich bin ein Anfänger mit OL, aber ich muss dieses Problem lösen ... Ich möchte dieses Array zu meiner Karte zu bekommen. Thaks um Hilfe! ;) Segmente meiner Array ces: ["1192.4692,1107.0745","1190.5201,1107.0029","1190.5201,1101.8436","1190.5201,1098.0733", "1192.4162,1097.9464"]
Array-Daten (Liniensegmente) erhalten, um multiLine openlayers zu mappen 3
var LineSource = new ol.source.Vector({
projection: 'EPSG:3857',
format: new ol.format.Feature(LineFeat)
});
var LineFeat = new ol.Feature({
name: "krLine",
geometry: new ol.geom.MultiLineString(ces), });
LineSource.addFeature(LineFeat);
var krLineLayer = new ol.layer.Vector({
source: LineSource,
projection: 'EPSG:3857',
});
Und hier ist meine Karte:
var map = new ol.Map({
layers: [
krLineLayer,
],
target: 'map',
controls: [
new ol.control.ScaleLine(),
new ol.control.MousePosition({
coordinateFormat: ol.coordinate.createStringXY(3),
})
],
view: mapView
});
Hier ist eine Lösung, die durch @Mikelis und ein Beispiel, wie ich Linien in meine Karte bekommen:
var elem;
var arr2 = [];
for (var i=0; i<ces.length; i++){
elem = ces[i].split(",");
arr2.push([parseFloat(elem[0]), parseFloat(elem[1])]);
}
console.log(arr2);
var layerLines = new ol.layer.Vector({
source: new ol.source.Vector({
features: [new ol.Feature({
geometry: new ol.geom.LineString(arr2),
name: 'Line',
projection: 'EPSG:3857'
})]
}),
});
Ich weiß nicht, ob Sie das Array verwenden, wie es gezeigt wird, aber "multilinestring" nimmt 2D-Array als Konstruktor. Jedes Array-Element ist x und y eines Punktes. Wie folgt: 'new ol.geom.MultiLineString ([ [[0, 0], [18, 60]], [[18, 60], [9, 30]] ]);' –
ja i kenne diese Tatsache, und das muss ich lösen .. weil mein Array von einem Algorithmus generiert wird. Dieser Algorithmus generiert Objekte mit Daten als Koordinatenpaare wie folgt: 'data:" 1190.5201,1107.0029 "' dann habe ich alle individuellen ** Daten ** in ein Array gepusht und jetzt habe ich dieses Array, das ich in die richtige Form konvertieren muss, aber ich habe keine Ahnung wie. Ich habe versucht, '.split (',')' es in einzelne Strings und dann stapeln mit Klammern '" ["+ .. +" [""] "aber es funktioniert nicht. schließlich spielt es keine Rolle, dass es als LineString oder MultiLinestring in die Map eingefügt wird. Ich muss nur die Straße visualisieren. –