ed168f49cae99218c630f753e3286125d1b78870.svn-base 646 B

12345678910111213141516171819202122232425262728293031323334353637
  1. function average(aver, curr, index) {
  2. aver[0] += curr[0]
  3. aver[1] += curr[1]
  4. if (index) {
  5. aver[0] /= 2
  6. aver[1] /= 2
  7. }
  8. return aver
  9. }
  10. function grentText(features) {
  11. let texts = []
  12. features.forEach(fe => {
  13. if (fe.properties.name) {
  14. let averagePoint = fe.geometry.coordinates.reduce((tPoint, geometry, index) => {
  15. return average(
  16. tPoint,
  17. geometry.reduce(average, [0, 0]),
  18. index
  19. )
  20. }, [0, 0])
  21. texts.push({
  22. name: fe.properties.name,
  23. point: averagePoint,
  24. height: fe.height
  25. })
  26. }
  27. })
  28. return texts
  29. }
  30. export default grentText