如何在 react-google-maps 中添加标记?

Posted

技术标签:

【中文标题】如何在 react-google-maps 中添加标记?【英文标题】:How to add markers in react-google-maps? 【发布时间】:2017-11-17 02:04:45 【问题描述】:

在Meteor 1.5 中使用 React JS

问题:需要一种方法来添加 Marker 使用 react-google-maps

使用 ES6 和 JSX 格式

遵循文档并能够嵌入地图,但无法添加标记。

这是我的代码:

const InitialMap = withGoogleMap(props => 
  var index = this.marker.index || [];

  return(
    <GoogleMap
      ref=props.onMapLoad
      defaultZoom=14
      defaultCenter=lat: 40.6944, lng:-73.9213
      >
        <Marker
          key=index
          position=marker.position
          onClick=() => props.onMarkerClick(marker)
        />
      </GoogleMap>
  )
);

export default class MapContainer extends Component
  constructor(props)
    this.state = 
      markers:[
        position:
          lat: 255.0112183,
          lng:121.52067570000001,
        
      ]
    
  
  render()
    return(
      <div style=height:"100%">
        <InitialMap
          containerElement=
            <div style=height:"100%"/>
          
          mapElement=
            <div style=height:"100%" />
          
          markers=this.state.markers />
      </div>
    )
  

【问题讨论】:

有相同问题的朋友请关注作者提供的demo。 【参考方案1】:

我会再次检查您的 lat、lng 坐标。来自google explaining coordinates

"检查您的纬度坐标中的第一个数字是否在 -90 和 90 之间。"

任何其他错误信息也将有助于为您找到答案。

【讨论】:

谢谢!在我按照作者提供的演示进行操作后,标记也可以正常工作。如果你也知道使用 React 的图标大小,请告诉我。 你的坐标是对的,我的坐标是错的。 增大了标记大小并开始工作。 Issue Resolved 别忘了在 中添加 Google Script【参考方案2】:

添加了第一个常量

const GettingStartedGoogleMap = withGoogleMap(props => (
  <GoogleMap
    ref=props.onMapLoad
    zoom=13
    center= lat: 21.178574, lng: 72.814149 
    onClick=props.onMapClick
  >
    props.markers.map(marker => (
      <Marker
        ...marker
        onRightClick=() => props.onMarkerRightClick(marker)
      />
    ))
  </GoogleMap>

将 containerElement 大小和 mapElement 大小更改为像素而不是百分比

  containerElement=
    <div style= height: `150px`  />
  
  mapElement=
    <div style= height: `150px`  />
  

并且只是在被调用的函数中添加标记

markers=this.state.markers

【讨论】:

你可以让它使用百分比而不是像这样的像素:` containerElement= mapElement= `

以上是关于如何在 react-google-maps 中添加标记?的主要内容,如果未能解决你的问题,请参考以下文章

如何将自定义按钮添加到 react-google-maps?

如何使用 react-google-maps 在 React.JS 中获取多边形的坐标

如何使用 react-google-maps 显示多个标记

如何使用 react-google-maps 库创建折线

React-google-maps 用户位置

react-google-maps:如何使用 fitBounds、panBy、panTo、panToBounds 公共 API?