Google Maps Javascript API未显示在网页上

rfbsl7qr  于 2023-04-19  发布在  Java
关注(0)|答案(1)|浏览(176)

我试图在我网站的“联系我们”组件中的React/Javascript代码上使用Google Map API,但Map本身并没有显示。我相信代码正在工作,因为“Loading...”语句在Map加载时出现,但当它加载时什么也没有显示。
下面是ContactUs.js文件中的代码:

import React from "react";
import contactuscss from "./ContactUs.module.css";
import Map from "./Map.js";

function ContactUs() {
  return (
    <div className={contactuscss.container}>
      <h2 className={contactuscss.contactus}>CONTACT US</h2>

      <div className={contactuscss.address}>
        <p>Unit 14 Parramatta Business Centre</p>
        <p>2 O'Connell Street</p>
        <p>Parramatta, NSW 2150</p>
        <p>Tel: +61 435 400 290</p>
      </div>

      <form>
        <div className={contactuscss.inputcontainer}>
          <input
            className={contactuscss.nameinput}
            type="text"
            id="name"
            name="name"
            placeholder="Name"
          />

          <input
            className={contactuscss.emailinput}
            type="text"
            id="email"
            name="email"
            placeholder="Email"
          />

          <input
            className={contactuscss.phoneinput}
            type="phone"
            id="phone"
            name="phone"
            placeholder="Phone"
          />

          <textarea
            className={contactuscss.textinput}
            id="message"
            name="message"
            rows="6"
            placeholder="Type your message here..."
          ></textarea>

          <button className={contactuscss.submitbutton} type="submit">
            Submit
          </button>
        </div>

        <div>
          <Map />
        </div>
      </form>
    </div>
  );
}

export default ContactUs;

下面是Map.js文件中的代码:

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

function Map() {
  const { isLoaded } = useLoadScript({
    googleMapsApiKey: process.env.NEXT_PUBLIC_GOOGLE_MAPS_API_KEY,
  });

  if (!isLoaded) return <div>Loading...</div>;

  return (
    <GoogleMap
      zoom={10}
      center={{ lat: 44, lng: -80 }}
      mapContainerClassName={{ width: "100%", height: "100vh" }}
    ></GoogleMap>
  );
}

export default Map;

下面是我的.env.local文件中的内容:

NEXT_PUBLIC_GOOGLE_MAPS_API_KEY="AIzaSyCH4EPZrF5cvUmM9luEsNdOehQuRyJgAzk"

我不太确定是什么问题-我也利用了youtube上最新的教程,教我如何将这个API上传到我的网页上。

pjngdqdw

pjngdqdw1#

很少有事情要记住,因为我也面临着同样的问题与这个 matplotlib 。
1.我看到的第一个错误是,如果你想将内联样式应用到Map组件,你需要使用mapContainerStyle而不是mapContainerClassName,它应该是mapContainerStyle={{...}}
1.mapContainerClassName只接受样式类名。
1.即使在做了以上的修改之后,你也看不到贴图,然后尝试在样式中给出固定的高度和宽度,因为这是贴图渲染所需要的。
1.在google maps scipt加载之前不要开始加载。要实现这一点,你可以使用useLoadScript钩子。useLoadScript文档
@react-google-maps/API文档

相关问题