当前位置: 首页 > 面试题库 >

尝试通过JQuery的getJSON函数使用Google Places API

公冶同
2023-03-14
问题内容

这可能是非常基本的,但是我正在尝试测试Google Places API。我正在阅读文档,并使用它们提供的一些示例。我正在尝试使用JQuery
getJSON函数,因为我已经能够成功地使用它与它异步异步地访问外部JSON文件,因此我认为这可能是获取Google
Places查询的JSON结果的一种好方法。这是我要使用的代码:

<body>
<div id="message"></div>
<script type="text/javascript">

    var requestURL = 'https://maps.googleapis.com/maps/api/place/search/json?location=-33.8670522,151.1957362&radius=500&types=food&name=harbour&sensor=false&key='my_google_places_key';
    $(document).ready(function () {
        $.getJSON(requestURL, function (data) {

            for (i = 0; i < data.results.length; i++) {
                myAddress[i] = data.results[i].formatted_address;
                document.getElementById("message").innerHTML += myAddress[i] + "<br>";
                console.log(myAddress[i]);
            }

        });
    });


</script>

</body>

根据文档,对查询的最终JSON响应应如下所示:

{
   "html_attributions" : [
      "Listings by \u003ca href=\"http://www.yellowpages.com.au/\"\u003eYellow Pages\u003c/a\u003e"
   ],
   "results" : [
      {
         "formatted_address" : "529 Kent Street, Sydney NSW, Australia",
         "geometry" : {
            "location" : {
               "lat" : -33.8750460,
               "lng" : 151.2052720
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png",
         "id" : "827f1ac561d72ec25897df088199315f7cbbc8ed",
         "name" : "Tetsuya's",
         "rating" : 4.30,
         "reference" : "CnRmAAAAmmm3dlSVT3E7rIvwQ0lHBA4sayvxWEc4nZaXSSjRtfKRGoYnfr3d5AvQGk4e0u3oOErXsIJwtd3Wck1Onyw6pCzr8swW4E7dZ6wP4dV6AsXPvodwdVyqHgyGE_K8DqSp5McW_nFcci_-1jXb5Phv-RIQTzv5BjIGS0ufgTslfC6dqBoU7tw8NKUDHg28bPJlL0vGVWVgbTg",
         "types" : [ "restaurant", "food", "establishment" ]
      },
      {
         "formatted_address" : "Upper Level, Overseas Passenger Terminal/5 Hickson Road, The Rocks NSW, Australia",
         "geometry" : {
            "location" : {
               "lat" : -33.8583790,
               "lng" : 151.2100270
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/cafe-71.png",
         "id" : "f181b872b9bc680c8966df3e5770ae9839115440",
         "name" : "Quay",
         "rating" : 4.10,
         "reference" : "CnRiAAAADmPDOkn3znv_fX78Ma6X5_t7caEGNdSWnpwMIdDNZkLpVKPnQJXP1ghlySO-ixqs28UtDmJaOlCHn18pxpj7UQjRzR4Kmye6Gijoqoox9bpkaCAJatbJGZEIIUwRbTNIE_L2jGo5BDqiosqU2F5QdBIQbXKrvfQuo6rmu8285j7bDBoUrGrN4r6XQ-PVm260PFt5kwc3EfY",
         "types" : [ "cafe", "bar", "restaurant", "food", "establishment" ]
      },
      {
         "formatted_address" : "107 George Street, The Rocks NSW, Australia",
         "geometry" : {
            "location" : {
               "lat" : -33.8597750,
               "lng" : 151.2085920
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png",
         "id" : "7beacea28938ae42bcac04faf79a607bf84409e6",
         "name" : "Rockpool",
         "rating" : 4.0,
         "reference" : "CnRlAAAAVK4Ek78r9yHV56I-zbaTxo9YiroCbTlel-ZRj2i6yGAkLwNMm_flMhCl3j8ZHN-jJyG1TvKqBBnKQS2z4Tceu-1kZupZ1HSo5JWRBKd7qt2vKgT8VauiEBQL-zJiKVzSy5rFfilKDLSiLusmdi88ThIQqqj6hKHn5awdj6C4f59ifRoUg67KlbpuGuuW7S1tAH_EyBl6KE4",
         "types" : [ "restaurant", "food", "establishment" ]
      },
      {
         "formatted_address" : "483 George Street, Sydney NSW, Australia",
         "events" : [
            {
              "event_id" : "7lH_gK1GphU",
              "summary" : "Google Maps Developer Meetup: Rockin' out with the Places API",
              "url" : "https://developers.google.com/places"
            }
          ],
         "geometry" : {
            "location" : {
               "lat" : -33.8731950,
               "lng" : 151.2063380
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/civic_building-71.png",
         "id" : "017049cb4e82412aaf0efbde890e82b7f2987c16",
         "name" : "Chinatown Sydney",
         "rating" : 4.0,
         "reference" : "CnRuAAAAsLNeRQtKD7TEUXWG6gYD7ByOVKjQE61GSyeGZrX-pOPVps2BaLBlH0zBHlrVU9DKhsuXra075loWmZUCbczKDPdCaP9FVJXB2NsZ1q7188pqRFik58S9Z1lcWjyVoVqvdUUt9bDMLqxVT4ENmolbgBIQ9Wy0sgDy0BgWyg5kfPMHCxoUOvmhfKC-lTefXGgnsRqEQwn8M0I",
         "types" : [
            "city_hall",
            "park",
            "restaurant",
            "doctor",
            "train_station",
            "local_government_office",
            "food",
            "health",
            "establishment"
         ]
      }
   ],
   "status" : "OK"
}

如果复制此JSON脚本并将其保存到文件中,则可以访问它,并且它在浏览器中显示以下结果:

529 Kent Street,Sydney NSW,Australia上层,海外客运大楼/ 5 Hickson Road,The Rocks
NSW,澳大利亚107 George Street,The Rocks NSW,澳大利亚483 George Street,Sydney
NSW,Australia

这意味着它有效。getJSON函数无法正确解析JSON脚本吗?


问题答案:

我会建议使用的商家信息库中的谷歌地图的JavaScript
API V3

您可以在此处找到演示和有关如何使用它的文档。



 类似资料:
  • 问题内容: 我试图在jQuery中使用getJSON函数导入一些数据并触发回调函数。回调函数未运行。但是,如果我使用get函数尝试相同的操作,则效果很好。奇怪的是,即使我将“ json”作为类型传递,它也可以与get函数一起使用。为什么会这样呢?我在Firefox 3和IE 7中测试了以下文件: 只要我访问的URL在同一个域中,这似乎都会发生。我尝试传递一些数据,但这没有什么不同。 当然,可以像在

  • 问题内容: TLDR :想要从数组中获取每个标题并将其插入到div中,而无需使用Jquery-getJSON知道div中的内容。 编辑 :数据来自一个软件,该软件每两秒钟输出JSON字符串和新数据,因此我需要将数据数组拉入“ d”内,如以下示例所示。因此,我应该分别获得“标题”和“ 034324324”等。 Edit2 更新了代码以完全匹配我的代码。 我有JSON数组可以说: 我想将其解析为每个“

  • 谁能帮帮我吗?我使用JQuery$.getJSON()根据选定的下拉列表(category)加载一个下拉列表(subcategories)的内容。 由于某种原因我得到了一个IllegalStateException。提前谢谢你。

  • 问题内容: 我正在处理Freecodecamp Twitch API项目,但无法获取显示正确的API数据。徽标,频道和状态返回为未定义。 我知道API肯定可以正常工作。我编写代码的方式一定有问题,但无法弄清楚是什么。 这是我的代码: 这是我的代码笔的链接:http ://codepen.io/drhectapus/pen/VPNQJa?editors=1011 任何帮助将不胜感激。 问题答案: 由

  • 我想有我的传单搜索插件工作的外部. json文件附加到地图。 为了澄清我想要实现的目标,我将为您提供两个代码示例: 1-来自脱机文件,附加了GeoJSON js文件2-来自localhost,其中. json文件已由$GetJson函数获取 第一个代码看起来像这样: 而传单搜索的效果非常好 但在第二段代码中有一个问题。 我的初始数据如下所示: 我申请的地方: }). addTo(地图); 但没有结

  • 使用一段代码扫描大字符串(html),然后解析其中的任何单词。将所有实例推送到vector或pairs(单词和计数),以防它已经不存在,否则增加计数(pair的第二个元素)。 获取编译错误: