【问题标题】:Google Maps markers not visible on deployed version but are available on local run version谷歌地图标记在部署版本上不可见,但在本地运行版本上可用
【发布时间】:2020-10-19 17:52:54
【问题描述】:

我正在为我的应用程序使用 react-google-maps。地图和标记在本地运行时工作。然而,在我在 Vercel 上部署的版本中,地图在那里——但不是标记。我定义标记的方式是通过类似于以下的映射:

{propertyLocalTest.map((property)=>( 

                        <Marker
                        key = {property.slug}
                        icon = {icon}
                        
                        position={{ 
                            lat: parseFloat(property.fields.latitude),
                            lng: parseFloat(property.fields.longitude)  
                        }}
                        />
                    ))}

在另一个项目中,我注意到我设置了 60% 的不透明度的 img 属性,在部署时不断设置为 1% 的不透明度;这是一个简单的解决方法——将 % 更改为小数。我认为类似的事情正在发生,因为会出现一个单独的硬编码标记(带有 Lat 和 Lng),但是当硬编码的 lat 和 lngs 数组映射到 Marker 元素时,这些将仅在本地显示,并且在部署时从不

我没有机会检查谷歌地图中的各个标记来确认这是否确实是问题所在。 有没有关于如何诊断/解决问题的建议?

总而言之:在本地运行时,所有功能都会按预期工作,但在托管应用时,只会出现映射的个别标记。

我的问题:部署的 React 应用和本地运行的应用之间是否存在明显差异?

【问题讨论】:

  • 你检查控制台了吗?有任何错误或警告吗?
  • 没有出现与此组件相关的内容。我有一个已弃用的软件包,但我根本没有在应用程序的这一端使用它。
  • 我的意思是在浏览器控制台中。我也在用这个包,有 1000 个标记,没问题。
  • 啊,有一个与地图有关:警告:已在严格模式树中检测到旧版上下文 API。所有 16.x 版本都将支持旧 API,但使用它的应用程序应迁移到新版本。请更新以下组件:withGoogleMap(MapContainer)
  • 不太清楚为什么它会在本地工作但是......我会尝试解决这个问题。我假设您的标记是使用相同的包映射的没有问题吗?

标签: reactjs google-maps google-maps-api-3 google-maps-markers react-google-maps


【解决方案1】:

最终起作用的是:没有使用映射函数,而是调用了一个自定义函数,该函数使用 for 循环而不是映射并返回/呈现输出。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-22
    • 2014-05-23
    • 2010-10-28
    • 1970-01-01
    • 2011-11-21
    • 2018-05-26
    • 2018-08-31
    • 1970-01-01
    相关资源
    最近更新 更多