【问题标题】:Displaying Panoramio thumbnail layer on Google Maps using REST使用 REST 在 Google 地图上显示 Panoramio 缩略图层
【发布时间】:2015-11-18 10:12:43
【问题描述】:

我正在尝试通过 Panoramio 在我的 Google 地图上显示一层缩略图。 Panoramio 是 RESTful 的,其主页声明必须在 API url 上提交简单的 GET 请求。

我在 REST 方面没有太多经验,我只是尝试让 API 以文本响应,然后我才能处理应该由调用产生的 JSON。我对 AJAX 没有太多经验,可以指出我正确的方向吗?到目前为止,这是我的相关代码:

**HTML**
<div class="backdiv-pix"></div>

**JS**
var xmlhttp = new XMLHttpRequest();
var thumbUrl = "http://www.panoramio.com/map/get_panoramas.php?set=public&from=0&to=20&minx=-180&miny=-90&maxx=180&maxy=90&size=medium&mapfilter=true"
xmlhttp.open("GET", thumbUrl, true)
xmlhttp.send();
document.getElementById('backdiv-pix').innerHTML=xmlhttp.responseText;

我的浏览器出现以下错误:

无法设置属性“innerHTML”为空

我们将不胜感激。

MS

【问题讨论】:

    标签: google-maps panoramio


    【解决方案1】:

    您的代码中没有带有id="backdiv-pix" 的div。要么改变:

    <div class="backdiv-pix"></div>
    

    收件人:

    <div id="backdiv-pix"></div>
    

    或使用document.getElmentByClassName('backdiv-pix')[0].innerHTML=xmlhttp.responseText

    但是,一旦你改正了那个错字,你就需要处理这个问题:

    XMLHttpRequest cannot load http://www.panoramio.com/map/get_panoramas.php?set=public&from=0&to=20&minx=-180&miny=-90&maxx=180&maxy=90&size=medium&mapfilter=true. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://fiddle.jshell.net' is therefore not allowed access.
    

    working fiddle

    代码 sn-p:

    var xmlhttp = new XMLHttpRequest();
    var thumbUrl = "http://www.panoramio.com/map/get_panoramas.php?set=public&from=0&to=20&minx=-180&miny=-90&maxx=180&maxy=90&size=medium&mapfilter=true&callback=?"
    $.getJSON(thumbUrl, function(data) {
      document.getElementById('backdiv-pix').innerHTML = JSON.stringify(data);
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div id="backdiv-pix"></div>

    【讨论】:

    • 非常感谢您的输入。如果您愿意帮助我,我还有两个问题: 1 - 运行此脚本我没有收到任何错误消息,但在我的 div 中看不到原始 JSON 数据,我是否遗漏了什么? 2 - 我的目标是使用 JSON 响应在我的 Google 地图上将 Panoramio 照片显示为缩略图。我花了几天时间试图找到一个关于如何做到这一点的教程,但是由于谷歌地图 API 的嵌入式 panoramio 层的存在和随后的弃用而阻碍了搜索。如果您能推荐我或提供帮助,将不胜感激。
    • 我确实看到了数据并且可以看到它运行正常。我想我的策略是在我的网页上显示原始 JSON 以证明与 Panoramio API 的连接,然后处理 JSON 以在我的 Google 地图中显示地理参考的缩略图照片。
    猜你喜欢
    • 2013-05-27
    • 1970-01-01
    • 2015-12-16
    • 2019-02-08
    • 1970-01-01
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    相关资源
    最近更新 更多