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

将JSON文件链接到google-map-react以在地图上显示标记

孟栋
2023-03-14
{
"_id" : ObjectId("5c3a42605a498f045d2e7a81"),
"name" : "asdfsadf",
"description" : "asdfasdf",
"location" : [ 
    37.556547032646, 
    37.556547032646
],
"state" : "Seoul",
}
[
  {
    "id": 123,
    "title": "Think Company",
    "address": [
      {
        "id": 1236,
        "city": "Helsinki",
        "lat": "60.190711",
        "lng": "24.907195"
      }
    ]
  },
]
import React, { Component } from "react";
import GoogleMapReact from "google-map-react";
import pin from "./g.png";

const markerStyle = {
  position: "absolute",
  width: "25px",
  height: "30px",
  top: "100%",
  left: "100%",
  transform: "translate(-50%, -100%)"
};
const data = [{ lat: location[0], lng: location[1] }];

export class Map extends Component {
  static defaultProps = {
    center: {
      lat: 37.5665,
      lng: 126.978
    },
    zoom: 10
  };

  render() {
    return (
      <div style={{ height: "100vh", width: "80%" }}>
        <GoogleMapReact
           bootstrapURLKeys={{
            key: ""
          }}
          defaultCenter={this.props.center}
          defaultZoom={this.props.zoom}
        >
          {this.props.locations.map(item => {
            if (item.address.length !== 0) {
              return item.address.map(i => {
                return (
                  <div key={i.id} lat={i.lat} lng={i.lng}>
                    <img style={markerStyle} src={pin} alt="pin" />
                  </div>
                 );
              });
            }
          })}
        </GoogleMapReact>
      </div>
    );
   }
}

export default Map;

共有1个答案

季稳
2023-03-14

根据提供的数据格式:

const data = [
  {
    _id: ObjectId("5c3a42605a498f045d2e7a81"),
    name: "asdfsadf",
    description: "asdfasdf",
    location: [37.556547032646, 37.556547032646],
    state: "Seoul"
  },
  ///...
]

标记可以像这样呈现

{data.map(item => {
    return (
      <div lat={item.location[0]} lng={item.location[1]}>
        <img style={markerStyle} src={pin} alt="pin" />
      </div>
    );
})} 

演示

 类似资料:
  • 问题内容: 我正在使用NPM包创建Google Map和几个标记。 问题: 我们如何将默认的Google Maps标记添加到地图? 从这个Github问题来看,似乎我们需要使用onGoogleApiLoaded函数访问内部Google Maps API 。 参考Google Maps JS API文档中的示例 ,我们可以使用以下代码来呈现标记,但是如何定义对的引用? 当前代码: 问题答案: 从自述

  • 我有一堆标记,我可以在其中加载到谷歌地图上。我的问题是,相机不在标记之上。我可以将它集中在我所有的标记之上吗? 我正在使用以下代码添加标记: 我在堆栈上看了看,发现了这个问题,和我的问题一样: Android谷歌地图API V2中心标记 但它背后没有太多的背景,也不知道如何实现它。

  • 我试图分享一篇文章从我的网站(博客)到谷歌加,但它没有显示文章的特色图像,而只是显示文章的标题和链接。我有微数据,也有“og”标签为我的页面。当使用谷歌结构化数据测试工具进行测试时,显示一切良好。我希望能得到一些帮助。如果我试图共享主页,它显示的是一个图像,然而,如果我试图共享网站上的任何帖子,它不显示任何图像。请帮助,让我知道如果你需要任何更多的信息,将很乐意提供。 一篇来自网站的文章

  • 我想在我的cordova应用程序中使用谷歌地图插件。我使用以下命令成功创建sha1密钥: keytool-exportcert-alias androiddebugkey-keystore C:\users\morsali.android\debug.keystore-list-v 并且我成功地创建了我的android和IOS密钥。包名称,sha1,...正确导入: 下面是googlemap-pl

  • 我正在开发一个推荐服装的网站。所以,我希望客户把他们的形象,这是在他们的地方。 首先,我尝试了。但不提供自定义选项。我必须用我的照片显示按钮。因此,我尝试了按钮选项,并编写了这样的代码。 null null

  • 在花了3天时间无法解决这个问题后,我正在编辑我的问题:我有一个西雅图所有楼梯的网站,当点击标记时,它会显示描述和图像。它已经运行了几年。(http://seattlestairs.home.comcast.net/~seattlestairs) 然后谷歌改变了他们kml文件的格式,如果我用新的kml替换旧的,我就看不到图像了。您可以在以下位置看到:(http://seattlestairs.hom