1234567891011121314151617181920212223242526272829303132333435363738 |
- import { cuttingString } from './util'
- function average(aver, curr, index) {
- aver[0] += curr[0]
- aver[1] += curr[1]
- if (index) {
- aver[0] /= 2
- aver[1] /= 2
- }
- return aver
- }
- function grentText(features) {
- let texts = []
- features.forEach(fe => {
- if (fe.properties.name) {
- let averagePoint = fe.geometry.coordinates.reduce((tPoint, geometry, index) => {
- return average(
- tPoint,
- geometry.reduce(average, [0, 0]),
- index
- )
- }, [0, 0])
- let name = cuttingString(fe.properties.name, 15)
- texts.push({
- name: name.join('\n'),
- point: averagePoint,
- height: fe.height + 3 * name.length + 5
- })
- }
- })
- return texts
- }
- export default grentText
|