React Google Maps Api 在第一次渲染时不会渲染子元素

2024-02-18

我正在尝试在我的应用程序中使用 Google Maps Api,一切都很好,直到我想在地图的第一次渲染时显示标记。标记没有显示,但如果我在渲染完成后再添加一个标记,标记就会出现。

所以问题是我想用已经存在的标记渲染地图,我不想等待选择某个位置。

我想从 props 接收 lat 和 lng,但现在我已经做了一个硬编码的 const(中心)。

import React, { useMemo } from "react";
import { useJsApiLoader, GoogleMap, Marker } from "@react-google-maps/api";

export default function GoogleMaps({ lat, lng }) {
  const { isLoaded } = useJsApiLoader({
    googleMapsApiKey: process.env.REACT_APP_GOOGLE_MAPS_API_KEY,
  });

  const center = useMemo(() => ({ lat: 42.4332, lng: 20.4343 }), []);

  if (!isLoaded) {
    return <h2>Calculating Locations..</h2>;
  }

  return (
    isLoaded && (
      <GoogleMap
        center={center}
        zoom={17}
        mapContainerStyle={{ width: "450px", height: "400px" }}
        options={{ disableDefaultUI: true, mapId: "deleted for this snippet" }}
      >
        <Marker position={center} />
      </GoogleMap>
    )
  );
}

您是否尝试过导入并使用 MarkerF 而不是 Marker?

See: https://github.com/JustFly1984/react-google-maps-api/issues/3048#issuecomment-1166410403 https://github.com/JustFly1984/react-google-maps-api/issues/3048#issuecomment-1166410403

“MarkerF 是功能组件,而不是基于类的 Marker 组件,它不适用于 React Strict 和/或 React@17+”

此外,这里还讨论了类似的问题:标记未使用 @react-google-maps/api 渲染 https://stackoverflow.com/questions/72229607/markers-not-rendering-using-react-google-maps-api/73769832#73769832和这里:地图标记不显示(标记在地图之前渲染)- ReactJS 和 @react-google-maps/api https://stackoverflow.com/questions/72298107/map-marker-dont-show-up-marker-rendered-before-map-reactjs-with-react-googl/73783605#73783605

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React Google Maps Api 在第一次渲染时不会渲染子元素 的相关文章

随机推荐

  • 使用c#将日期插入MySql

    我的 mysql 表中有日期字段 我想通过日期选择器控件插入日期 Windows 窗体 C 如何 当我尝试使用下面的方法时 出现错误 Code DB Insert Orders Convert ToInt32 txtA Text Conve
  • Android/phonegap - 拉伸我的背景图像以适合屏幕

    我尝试过各种不同的方法 但似乎都不起作用 我正在使用内联 CSS 只是想添加一个拉伸到屏幕尺寸的背景 我目前在我的 body 标记中使用以下代码 我的图像是 400 x 300 但需要拉伸到 1200 x 1000 希望有人可以提供帮助 已
  • Apache Apr 和 Apr-util 安装?

    我第一次在 ubuntu 12 04 中安装 Apache 我在链接中查找编译并安装apache http httpd apache org docs 2 4 install html 它说我们应该首先拥有 APR 和 APR util 我
  • 为什么这个性能计数器总是返回零? [复制]

    这个问题在这里已经有答案了 我有这个代码 using PerformanceCounter pfc new PerformanceCounter Processor Processor Time Total return pfc NextV
  • Backbone.js:将视图、集合、模型分离到不同的js文件中,它们无法相互识别

    我使用 Backbone js 创建一个 Web 应用程序 将所有视图 集合和模型写入一个 js 文件 成功了 现在我想将它们分成不同的js文件 就像
  • VBA Excel 文件转换为 CSV,保持 CSV 文件名与原始工作簿相同

    我正在努力寻找一种快速的方法来拯救我的xlsx文件为csv具有相同文件名的文件xlsx文件 就在csv格式 我已经用快捷方式录制了一个宏 但问题是 每当我尝试使用新文件时 它都会保存为与我录制初始宏相同的文件名 即见下文 可能是因为我在代码
  • 如何将数组转换为ARM模板中一个对象的属性?

    我正在寻找一种将数组 例如字符串 转换为一个对象的方法 其中属性是从数组值生成的 用例 我想生成一个tags基于资源名称列表的具有资源链接的对象 我需要这样做 以link App Service资源到一个Application Insigh
  • AWK 比较两个文件,如果匹配,则将新列从第二个文件添加到第一个文件

    我有问题 我想比较两个文件 第一个文件是参考 ABCA4 INHR AMT INHR BTK ONKO1 PAP ONKO2 第二个文件用于比较 3 1 2 T ENG1 ABCA4 ff 3 1 2 T ENG1 ABCA4 gg 5 1
  • HTML5 Canvas 和鼠标事件问题

    我正在尝试创建一个包含客户签名框的 HTML5 页面 这大部分用于平板电脑 这是通过 Canvas 元素和鼠标上的 JavaScript 事件来完成的 问题 1 Y 部分工作完美 但 X 部分仅在我将画布设置为 300 时才工作 如果宽度为
  • 使用 ANTLR 通过 Python 解析一些 Java 代码

    我想在 Python 中使用 ANTLR 构建一个 Java 解析器 我从 ANTLR 存储库下载了语法 Lexer https github com antlr grammars v4 blob master java java Java
  • XNA 中的四元数旋转

    我这样做对吗 显然不是因为否则我不会在这里发布问题 但我正在尝试围绕另一个模型对一个模型进行四元数旋转 假设我有一个具有向量 3 位置和浮动旋转角度的盒模型 我还有一个指向盒子模型的截头锥体模型 其位置可以说距盒子模型 50 个单位 平截头
  • EC2实例克隆

    是否可以克隆 EC2 实例数据以及全部数据 你可以做一个AMI http docs aws amazon com AWSEC2 latest UserGuide AMIs html现有实例 然后使用该实例启动其他实例AMI http doc
  • 在本地测试谷歌地图V3地理位置?

    我正在尝试在我的计算机上测试一些地理定位代码 但我什至无法运行这些示例 虽然它们从文档网站完美运行 但当我尝试从计算机打开 html 文件时 我得到一个空白页面 但我所做的就是尝试检测我的位置 这是代码
  • (新)收到GCM消息,但如何解析?

    我正在使用 新 GCM 它是 Google Play 服务的一部分 它不使用适用于 Android 和服务器的 jar Android 使用 Google Play apk 来注册 接收甚至发送消息 在服务器端 我们与 GCM 通信所需要做
  • 为什么选择 PRG 模式而不是其他模式?

    我需要防止为客户的网站重复提交表单 我们需要用户提供一些表单数据用于订单确认页面 我们对网络服务器使用负载平衡 方法 1 发布 重定向 获取 PRG pattern http en wikipedia org wiki Post Redir
  • 如何在 JavaScript 代码中获取数据属性的值?

    我有下一个html span span 是否可以获取以data 并将其用在JavaScript代码类似于下面的代码 现在我得到null结果 document getElementById the span addEventListener
  • 在 JAX-RS 资源中组合 @Context 和 @RolesAllowed?

    是否可以使用Context http docs oracle com javaee 6 api javax ws rs core Context html注释和允许的角色 https docs oracle com javaee 6 api
  • Valgrind 未显示错误使用 c_str() 的无效内存访问

    想象一下这样的代码 string f string r ab return r int main const char c f c str printf s n c return 0 这段代码可能会崩溃 对吧 因为那个字符串c指向被破坏 但
  • 将大型 NumPy 数组写入文件的有效方法

    我目前有一个在 PiCloud 上运行的项目 其中涉及 ODE 求解器的多次迭代 每次迭代都会生成一个约 30 行和 1500 列的 NumPy 数组 每次迭代都会附加到先前结果数组的底部 通常 我只是让函数返回这些相当大的数组 将它们保存
  • React Google Maps Api 在第一次渲染时不会渲染子元素

    我正在尝试在我的应用程序中使用 Google Maps Api 一切都很好 直到我想在地图的第一次渲染时显示标记 标记没有显示 但如果我在渲染完成后再添加一个标记 标记就会出现 所以问题是我想用已经存在的标记渲染地图 我不想等待选择某个位置