3

我正在尝试使用 Places API,最初尝试使用来自 jQuery 的 $.ajax,但我一直在文件的第一个元素上收到意外的令牌错误。但是我意识到你不能从 Places API 中获取 JSONP。因此,下面是它返回的示例,我一生都无法将 id 打印到控制台(对于初学者)...有人可能会指出我正确的方向吗?

从 Places 返回的 JSON:

{
   "html_attributions" : [],
   "results" : [
      {
         "geometry" : {
            "location" : {
               "lat" : 33.7862590,
               "lng" : -117.8531270
            }
         },
         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png",
         "id" : "5be9a13a28635cf8fd2ef3c62c24d51277a4ba58",
         "name" : "Kimmies Coffee Cup",
         "rating" : 3.30,
         "reference" : "CnRpAAAANKLoOHJ1STFaFavIPjm2bpMDneGTv0AXfixyl-koF7KSK-lQSldk3c01RFJu9Gf62zXnRScte-dkPCBU8KuxCo7AMctfuaIhNkPE8RKENF9HeMlkuEg-Scp97--1VWJvjpNQjc6xRvdXsbf7V8NrSRIQnXjZBKbrSeSg2sTwBosKghoUEFlNDIN5cnVbn5n7aNtwycord-E",
         "types" : [ "restaurant", "food", "establishment" ],
         "vicinity" : "190 S Glassell St # B, Orange"
      }
      ]
}

这就是我正在尝试的,但显然我不能再使用它了......

 $(document).ready(function () {
    $.ajax({
      url: 'https://maps.googleapis.com/maps/api/place/search/json',
      dataType: 'jsonp',
      type: 'GET',
      data: {
        location: '33.787794,-117.853111',
        radius: 100,
        name: 'coffee',
        key: 'KEY_HERE',
        sensor: false,
      },
      success: function(data) {
        console.log(data.results[0].id);
    }
  });
});

任何建议都会很棒,谢谢!

4

3 回答 3

0

jQuery 有一个 parseJSON 方法,它将从 JSON 创建一个 javascript 对象。

一旦你有了这个对象

obj.results 将返回结果数组。

results[0].id 将为您提供第一个结果的 id。

于 2012-04-05T05:55:11.503 回答
0

当您使用数据类型 json 而不是 jsonp 时,结果是什么?

于 2012-04-05T05:47:28.503 回答
0

您不需要 for 循环来打印 id。您可以删除它然后尝试。另外,不确定什么是“myResult”。它似乎没有在任何地方定义。

于 2012-04-05T05:49:00.640 回答