当前位置: 首页 > 知识库问答 >
问题:

传单标记并不总是适用

有骏祥
2023-03-14

所以我使用传单-反应,我需要添加一些圆圈标记。

现在这个代码起作用了...有时。在地图上单击一个圆圈标记应该添加,但有时它不是。似乎是随机的,它只是不会添加一个可见的标记。有时标记会变得可见,如果我改变缩放级别,但不总是。所有的代码每次都运行,所以并不是没有调用addMarker(),而且总是运行删除最后一个标记(通过清除标记层)。

谢了,艾德。

共有1个答案

糜昌胤
2023-03-14

您似乎没有使用react-faillet包。我建议试试看。下面是一些示例代码,说明如何在单击事件上向映射添加标记:

const React = window.React;
const { Map, TileLayer, Marker, Popup } = window.ReactLeaflet;

class SimpleExample extends React.Component {
  constructor() {
    super();
    this.state = {
      markers: [[51.505, -0.09]]
    };
  }

  addMarker = (e) => {
    const {markers} = this.state
    markers.push(e.latlng)
    this.setState({markers})
  }

  render() {
    return (
      <Map 
        center={[51.505, -0.09]} 
        onClick={this.addMarker}
        zoom={13} 
        >
        <TileLayer
          attribution='&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
          url='http://{s}.tile.osm.org/{z}/{x}/{y}.png'
        />
        {this.state.markers.map((position, idx) => 
          <Marker key={`marker-${idx}`} position={position}>
          <Popup>
            <span>A pretty CSS3 popup. <br/> Easily customizable.</span>
          </Popup>
        </Marker>
        )}
      </Map>
    );
  }
}

window.ReactDOM.render(<SimpleExample />, 
document.getElementById('container'));

下面是一个显示实现的jsfiddle:https://jsfiddle.net/q2v7t59h/413/

 类似资料:
  • 我有一个带有WebSockets的应用程序,使用spring-boot应用程序作为后端,在客户端使用stomp/sockjs,spring-boot应用程序使用JMS队列消息并将更改通知给正确的用户。问题出在哪里?有时工作有时不工作,同样的代码和用户可以工作或不工作。 编辑1: 经过更多的调试,当不工作的时候,WebSocket的“会话”似乎被Spring配置丢失了。我看不到任何关于“断开连接”消

  • 我有一个表单,它的设置与此类似: 现在我在表单所在的同一个页面上也有一个按钮,它执行一个jQuery函数。这个函数在表单中添加了一个额外的文本区域(名称=“项目[]”。因此,如果用户点击该按钮两次,我最终会有三个文本区域。 现在,当用户提交表单时,它将转到另一个页面:测试。php页面。在这个页面中,我执行了一个PHP脚本,在该脚本中,我测试POST是否已设置,然后捕获POST值。。 现在每个用户都

  • 我使用的是Python2.7。当试图将鼠标悬停在菜单项上时,selenium不会在Chrome中一贯地将鼠标移动到该项上。因此,当点击子菜单时,它最终会点击其他的东西。然而,相同的代码在Firefox驱动程序中引发异常。 我在SO上读到的帖子很少,这表明硒有时是奇怪的。但我搞不清自己是不是做错了什么。 代码如下:

  • 有没有一种方法可以随意改变本地传单中的标记颜色?我使用的是svg元素,可以进行样式化。我知道使用Mapbox.js是可能的 编辑:为了澄清我打算做的:如果你通过双击或其他方式向地图添加标记,它应该有随机的颜色。为了实现这一点,我想使用svg图标来对标记进行样式化。 这是我的代码:

  • 当我在标记中单击时,警报消息是:未定义 但是如果我把它放在变量映射中,它就起作用了!(显示经纬度) 有人知道为什么它在标记器里不起作用吗?

  • 将一系列标记添加到传单JS地图后,是否可以让传单缩放并重新调整焦点以显示每个标记?我看到谷歌地图有很多类似的问题,但传单却没有。 像这样的东西: 我还注意到Leaflet中的几个函数可以获取地图的边界,但我不确定如何使用这些函数来达到预期的效果。