【问题标题】:React Leaflet Collision反应传单碰撞
【发布时间】:2017-07-27 09:33:32
【问题描述】:

我正在使用没有任何城镇标签的地图。我正在放置标签,我需要这些标签在放大/缩小时出现和消失。缩小时只出现大城镇,放大时出现所有城镇。现有的反应传单中是否有此功能? 我也在尝试为 Leaflet.LayerGroup.Collision 制作插件, 我尝试从 react-leaflet 覆盖 LayerGroup

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});
  }
}

但我遇到了错误

Uncaught TypeError: (0 , _leaflet.layerGroup)(...).collision 不是函数

任何帮助如何实现这个或任何替代想法?

【问题讨论】:

    标签: react-leaflet


    【解决方案1】:

    layerGroup 应该大写 L,LayerGroup

    import { LayerGroup } from 'leaflet';
    

    或另一种尝试:

    import L from 'leaflet';
    

    然后

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

    【讨论】:

    • 嗨,如果这解决了您在问题中遇到的错误,您应该接受答案。谢谢!
    猜你喜欢
    • 2014-11-28
    • 2011-03-15
    • 2011-09-05
    • 1970-01-01
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多