2017-03-07 1 views
0

Ich benutze Karte ohne Bezeichnung der Stadt. Ich setze die Etiketten, ich brauche diese Etiketten erscheinen und verschwinden beim Vergrößern/Verkleinern. Beim Verkleinern erscheinen nur große Städte beim Vergrößern aller Städte. Gibt es dafür in bestehenden Reaktionsblättern eine Funktion? auch i-Plugin für Leaflet.LayerGroup.Collision machen versuche, Ich versuchte Layergruppe überschreiben aus reagieren-FaltblattReact Leaflet Collision

import React, { PropTypes } from 'react'; 
import { MapLayer } from 'react-leaflet'; 
import { layerGroup } from 'leaflet'; 
import './leaflet-layergroup-collision'; 

export default class LayerGroupCollision extends MapLayer { 
    static childContextTypes = { 
    layerContainer: PropTypes.shape({ 
     addLayer: PropTypes.func.isRequired, 
     removeLayer: PropTypes.func.isRequired, 
    }) 
    } 

    getChildContext() { 
    return { 
     layerContainer: this.leafletElement, 
    } 
    } 

    createLeafletElement() { 
    return layerGroup(this.getOptions()).collision({margin:5}); 
    } 
} 

Aber ich bin immer Fehler

Uncaught TypeError: (0 , _leaflet.layerGroup)(...).collision is not a function

Jede Hilfe, wie diese oder irgendeine Alternative implementieren Idee?

Antwort

1

Layergruppe sollte

import { LayerGroup } from 'leaflet'; 

oder einen alternativen Versuch mit einem Kapital L, Layergruppe sein:

import L from 'leaflet'; 

und dann

L.LayerGroup(this.getOptions()).collision({margin:5}); 
+0

Dieser mit Fehler geholfen. –

+0

Hallo, wenn das den Fehler behoben hat, den Sie in der Frage hatten, sollten Sie die Antwort akzeptieren. Vielen Dank! –