【问题标题】:Avoiding "Sorry, we have no imagery here" with Google Maps使用 Google 地图避免“抱歉,我们这里没有图像”
【发布时间】:2012-05-10 03:41:14
【问题描述】:

我正在编写一个谷歌地图应用程序,在大多数情况下它运行良好。但是,如果我请求在彼此非常接近的 2 个点之间的步行路线(例如 2 个建筑物与 1 个相邻的建筑物),地图会放大到如此接近,以至于混合图像变成显示“抱歉,我们没有图像”的图块在这里。”

从我的代码中的调试说明来看,地图的缩放级别似乎是在更新 DirectionsRenderer 的函数运行之后才设置的(添加 map.getZoom() 调用会显示地图的缩放属性我请求的上一轮路线。

因此,MazZoomService 对我也没有多大帮助。有没有办法在处理方向时检测地图的缩放级别,以便我可以将图像缩小到不显示错误消息的位置?

【问题讨论】:

    标签: google-maps google-maps-api-3


    【解决方案1】:

    在地图的“zoom_changed”事件中使用 MaxZoomService。如果当前缩放级别大于最大值,map.setZoom(max)。

    如果您希望仅根据 DirectionsRenderer 更新的结果启用此行为,则需要设置一个标志,可能还需要设置一个计时器(DirectionsRenderer 并不总是更改地图缩放级别)。

    【讨论】:

    • Google 地图应用程序不会显示这条完全没有帮助的信息。相反,它会放大显示较低分辨率的图像。如果您在线使用缓存中的地图也是如此:它会向您显示缓存中最佳的低分辨率图像。这应该是正常行为......你知道有什么方法可以告诉应用程序像谷歌地图那样做吗?非常感谢。
    【解决方案2】:

    <meta http-equiv="Content-Security-Policy" content="default-src *; script-src 'self' 'unsafe-inline' 'unsafe-eval' *; style-src 'self' 'unsafe-inline' *; img-src * data: 'unsafe-inline'">--在header中添加这个标签。

    【讨论】:

      【解决方案3】:

      我在一个有角度的应用程序中遇到了这个问题,我正在写。

      原来我的内容安全政策阻止了 Google,这反过来又阻止了所有图片的加载并抛出错误“抱歉,我们这里没有图片”。一旦我将 Google URL 添加到我的内容安全策略中,一切就恢复正常了!

      【讨论】:

        【解决方案4】:

        当我从卫星切换到地图选项时,我有过这种经历。此时缩放设置为 18。我决定向下减小缩放大小。在 12 及以下的缩放尺寸下,图像错误得到解决,地图图像显示良好。

        【讨论】:

          【解决方案5】:

          我遇到了同样的错误,地图显示不同的图块并显示“抱歉,我们没有图像错误”的消息。但是,根本问题是不同的。由于问题标题是通用的,因此我添加了答案,因此它可能对某人有所帮助。

          在一些检查中,我发现错误是因为从数据库中动态检索的经纬度(坐标)值是空值。因此,您可以检查是否在地图初始化函数中传递了无效坐标。

          更新 如果组合无效,则互换 lat 和 long 值也可能导致问题。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-04-05
            • 2016-06-02
            • 1970-01-01
            • 1970-01-01
            • 2016-02-07
            相关资源
            最近更新 更多