Ich versuche, ein Polygon (mehrere lat/long Koordinaten miteinander verbunden) mit Leaflet Draw zu formatieren. Hier ist das Format Rückkehr und was ich bisher getan haben:Wird dies mit einem regulären Ausdruck gemacht? Formatieren Breitengrad Längengrad
map.on("draw:drawstop", polyPointToString);
function polyPointToString(e){
console.log("Unaltered Coordinates: " + coords);
polyStringParse = coords.toString().replace(/[^\d,.-]/g, '');
console.log("Polyparse: " + polyStringParse);
polyStringParseRegExp = polyStringParse.replace(/([^,]+[^,]),/g,'$1 ');
console.log("PolyparseRegExp: " + polyStringParseRegExp);
}
Unveränderte Koordinaten ist dies:
//Unaltered Coordinates: LatLng(46.58907, -102.74414),LatLng(46.58907, -102.74414),LatLng(46.58907, -102.74414)
polyparse ist dies (nur Zahlen, Bindestriche und Dezimalstellen links):
//Polyparse: 46.58907,-102.74414,46.58907,-102.74414,46.58907,-102.74414
PolyparseRegExpt ist dies (es hält alle Kommata :-(entfernen):
//Polyparse2: 46.58907 -102.74414 46.58907 -102.74414 46.58907 -102.74414
Was ist notwendig: Comma 1, 3, 5, 7 .... etc entfernt, so dass ich habe:
Zahl Nummer, Anzahl Nummer, Anzahl Nummer, ........
Basilikum, jedes ungerade Komma. Gerade jetzt entfernt es aus irgendeinem Grund alle Kommas.
Was ist 'coords', nicht als String, sondern als Objekt? Ändern Sie Ihre 'console.log' in' console.log ("Unaltered Coordinates:", coords) '. Ein Objekt in eine String-Darstellung zu verwandeln und dann zu analysieren, macht das unnötig kompliziert. – Amy
coords ist eine Anordnung von Punkten auf einer Karte. –
Ich glaube ernsthaft, dass Ihr Ansatz, regexps zu verwenden, um dieses Array zu formatieren, eine Form von [dem XY-Problem] ist (https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) – IvanSanchez