Pits32 Δημοσ. 17 Μαΐου 2019 Δημοσ. 17 Μαΐου 2019 Έχει ασχοληθεί κανένας με leaflet να τον ρωτήσω 1-2 πράγματα?
Predatorkill Δημοσ. 17 Μαΐου 2019 Δημοσ. 17 Μαΐου 2019 13 λεπτά πριν, Pits32 είπε Έχει ασχοληθεί κανένας με leaflet να τον ρωτήσω 1-2 πράγματα? Ρωτα και βλεπουμε
Pits32 Δημοσ. 17 Μαΐου 2019 Μέλος Δημοσ. 17 Μαΐου 2019 Θελω να δημιουργήσω polygons, αλλα τις συντεταγμένες θέλω να τις περνάω δυναμικα απο array. ο κωδικας μου ειναι αυτος. for(var i = 0; i < coords.length; i++) { if(coords.id == 2) { var polygon = L.polygon([ [coords.point_y, coords.point_x] ],{color:"red", fillColor:"red"}).addTo(mymap); } } και παιρνω ως αποτελεσμα την εικονα παρακατω.σε καθε λουπ περναει και ενα σημειο.ομως εγω θελω να μου βγαζει κανονικα το polygon
παπι Δημοσ. 18 Μαΐου 2019 Δημοσ. 18 Μαΐου 2019 Τα latlng θα τα βαζεις στο array που εχει το polygon, δεν θα φτιαχνεις πολυγωνα για καθε latlng.
Pits32 Δημοσ. 18 Μαΐου 2019 Μέλος Δημοσ. 18 Μαΐου 2019 το θεμα είναι οτι για καποιο λογο δεν μου δεχεται το array.το εχω κανει και parseFloat και παλυ το ιδιο. for(var i = 0; i < coords.length; i++) { if(coords.id == 2) { temp_pol = new Array(); temp_b= new Array(); x=x+1; } } for(var i = 0; i < coords.length; i++) { if(coords.id == 2) { temp_pol.push(parseFloat(coords.point_y),(parseFloat(coords.point_x))); } } let polygon = L.polygon(temp_pol,{color:"red", fillColor:"red"}).addTo(mymap);
Pits32 Δημοσ. 18 Μαΐου 2019 Μέλος Δημοσ. 18 Μαΐου 2019 και παλι βγαζει error. κανονικα θα πρεπε να το παιρνει.
vadou Δημοσ. 18 Μαΐου 2019 Δημοσ. 18 Μαΐου 2019 (επεξεργασμένο) Τι error σου βγάζει; Μια χαρά φαίνεται να παίζει εδώ, για δες μήπως μπορείς να καταλάβεις τι κάνεις λάθος. edit: Βάζε τον κώδικα σε code tags για να διαβάζεται πιο εύκολα. Τώρα που ξαναδιαβάζω τι έγραψες, έχεις λάθος στις for loops. Δεν καταλαβαίνω γενικά τι γράφεις, πχ τι είναι εκείνο το if, γιατί κάνεις 2 loops κλπ for (let i = 0; i < coords.length; i++) { // current item is coords[i] not just coords // so you should write coords[i].point_x instead // of coords.point_x } Επεξ/σία 18 Μαΐου 2019 από vadou
Pits32 Δημοσ. 18 Μαΐου 2019 Μέλος Δημοσ. 18 Μαΐου 2019 Τελικά λύθηκε το πρόβλημα.Το λάθος ήταν οτι έφτιαχνα array of arrays(στο πρωτο loop) με αποτέλεσμα το L.polygon να μην μπορει να το διαβάσει σωστα.Έπρεπε να δέχεται κανονικό array οπότε. var temp_c=[]; for(var i = 0; i < coords.length; i++) { if(coords[i].id == 2) { temp_c.push([parseFloat(coords[i].point_y),parseFloat(coords[i].point_x)]); } } console.log(temp_c); let polygon = L.polygon(temp_c,{color:"red", fillColor:"red"}).addTo(mymap); το παραπάνω τρέχει όπως πρέπει. Ευχαριστώ πολύ για την βοήθεια!
Predatorkill Δημοσ. 18 Μαΐου 2019 Δημοσ. 18 Μαΐου 2019 31 λεπτά πριν, Pits32 είπε Τελικά λύθηκε το πρόβλημα.Το λάθος ήταν οτι έφτιαχνα array of arrays(στο πρωτο loop) με αποτέλεσμα το L.polygon να μην μπορει να το διαβάσει σωστα.Έπρεπε να δέχεται κανονικό array οπότε. var temp_c=[]; for(var i = 0; i < coords.length; i++) { if(coords[i].id == 2) { temp_c.push([parseFloat(coords[i].point_y),parseFloat(coords[i].point_x)]); } } console.log(temp_c); let polygon = L.polygon(temp_c,{color:"red", fillColor:"red"}).addTo(mymap); το παραπάνω τρέχει όπως πρέπει. Ευχαριστώ πολύ για την βοήθεια! Απο οτι καταλαβαινω, δεν χρησιμοποιεις debugger, θα το ειχες λυσει πολυ πιο γρηγορα (και μονος σου) το προβλημα, θα το εβρισκες με τη μια.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα