【问题标题】:Google Maps Static API returns weird imageGoogle Maps Static API 返回奇怪的图像
【发布时间】:2011-07-31 11:20:24
【问题描述】:

我有一个页面,其中包含 http://maps.google.com/maps/api/staticmap?size=600x240&markers=icon:http://100procentjan.nl/tweakers/punaise.png|shadow:false|52.369010925293,4.8560848236084&sensor=false&zoom=15&center=52.369010925293,4.8560848236084 形式的静态地图 URI。

当我从任何浏览器访问此页面时,它显示得很好,但当我通过通过我们的 BES 连接的 Blackberry 使用它时(但相同的无线网络!)。然后出现了这张图片:

有人知道这张图片是什么意思吗?

【问题讨论】:

  • 我也失败了,403 forbidden,同样的图形。 BB 个人,没有 BES。

标签: google-maps


【解决方案1】:

我在不同的无线运营商上遇到了同样的问题。我相信这是由于有许多用户通过无线运营商使用的相同外部 IP 地址进行流量漏斗。 Google 将这些都视为一个请求源。

要解决此问题,请确保将 Google API 密钥附加到静态地图请求的末尾。示例:

http://maps.googleapis.com/maps/api/staticmap?center=<lat>,<lng>&zoom=17&markers=color:0059A9%7C<lat>,<lng>&size=576x174&sensor=false&key=YOUR_SUPER_LONG_GOOGLE_API_KEY_GOES_HERE

【讨论】:

    【解决方案2】:

    这是与 Google 的静态地图 API 相关的 BB 特定问题。 API限速正常,但使用BB设备时弹出较多。

    他们似乎在使用 IP 池并将其轮换到设备上。这在理论上应该是一个非常间歇性的问题。如果您等待几天,它应该会消失。

    换句话说,总的来说,您的 IP 在 24 小时内访问静态地图 API 的次数超过 1000 次。当您在短时间内过于频繁地访问 API 时,也会发生这种情况。

    我对此的解决方案是编写一个简单的 PHP 脚本,该脚本向 Google 请求一次地图图像,将其保存为文件并提供它,而不是每次都访问地图 API。

    代码如下:

    <?php
    
    header('Content-Type: image/jpeg');
    
    $latlng = (isset($_GET['c']))? $_GET['c'] : NULL ;
    $zoom   = (isset($_GET['z']))? $_GET['z'] : 9 ;
    $file   = "cache/p_$p-z_$zoom.jpg";
    
    if(!file_exists($file))
    {
        $parts = array(
            'center'  => $latlng,
            'zoom'    => $zoom,
            'size'    => '320x240',
            'maptype' => 'terrain',
            'sensor'  => 'false',
            'format'  => 'jpeg'
        );      
    
        file_put_contents(
            $file, file_get_contents("http://maps.googleapis.com/maps/api/staticmap?".implode('&', $parts))
        );
    }
    
    echo file_get_contents($file);
    

    【讨论】:

    【解决方案3】:

    我总是在黑莓上得到这个。不要认为它的使用限制,因为我刚醒来,我的总访问次数 = 1。除非它与 Blackberry 相关的一些共享 IP 问题。

    【讨论】:

    • 我很确定这与黑莓处理这些请求的方式有关。在其他设备上没有看到这个问题。
    【解决方案4】:

    你有 exceeded the usage limits 对应的特定 IP 地址

    “使用 Google 静态地图 API 的查询限制为每位查看者每天 1000 个唯一(不同)图像请求”

    【讨论】:

      猜你喜欢
      • 2020-06-03
      • 1970-01-01
      • 2011-06-06
      • 2019-02-04
      • 1970-01-01
      • 2017-07-07
      • 1970-01-01
      • 2020-08-05
      • 2011-11-20
      相关资源
      最近更新 更多