nextjs 接入高德地图?-灵析社区

世界唯一的

请教一下大佬们,按照官方的例子(官方只有 react 的例子),遇到了window is not defined报错,然后百度发现了一个相同的用户 [https://juejin.cn/post/7229984415329108024](https://link.segmentfault.com/?enc=BX7QcTPjKkRyEZM2Oo6GJw%3D%3D.sMZtC0tMZWyUjc409VF6FDgGBEA2mtHu2GCwR%2FxMVHah08Klv3n020EMy57Tx8vk) 但是, 我按照他的方法接入是不报错了, 但是一直也没有正常显示出来 ===================updated============= 好像我把他的amapLoaded变量判断去掉同时给 div 设置一个宽高,就可以展示了 代码如下 import { useState, useEffect } from 'react'; function MapComponent() { const [amapLoaded, setAmapLoaded] = useState(false) useEffect(() => { if (typeof window !== "undefined") { import('@amap/amap-jsapi-loader').then(AMapLoader => { AMapLoader.load({ key: '282cd9041593e8c30e5df2e2fcd17984', version: '2.0', }).then(() => { setAmapLoaded(true) this.map = new AMap.Map('container', { // 设置地图容器id viewMode: '3D', // 是否为3D地图模式 zoom: 5, // 初始化地图级别 center: [105.602725, 22.076636], // 初始化地图中心点位置 }); }) }) } }, []) return ( { } ); } export default MapComponent; ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241006/39a30cfed2c7d8ea5679570503d40d95.png) 但是页面有一个报错。![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241006/b72d701a4b16bd83d01bcfdaf3b89b65.png) 为啥会报这个错,为啥还能展示

阅读量:127

点赞量:0

问AI
"react hooks"已经不用"this"了,换成"useRef"了。 import { useRef, useState, useEffect } from 'react'; function MapComponent() { const mapRef = useRef(null) const [amapLoaded, setAmapLoaded] = useState(false) useEffect(() => { if (typeof window !== "undefined") { import('@amap/amap-jsapi-loader').then(AMapLoader => { AMapLoader.load({ key: '282cd9041593e8c30e5df2e2fcd17984', version: '2.0', }).then(() => { setAmapLoaded(true) mapRef.current = new AMap.Map('container', { // 设置地图容器id viewMode: '3D', // 是否为3D地图模式 zoom: 5, // 初始化地图级别 center: [105.602725, 22.076636], // 初始化地图中心点位置 }); }) }) } }, []) return ( { } ); } export default MapComponent;