了解google places api与网页一起使用

时间:2012-11-10 20:47:44

标签: javascript google-maps-api-3 client-side google-places

好的,所以我浏览文档但是我仍然不明白它是如何工作的。如果我想搜索一个地方,我应该使用HTTP get请求来返回json数据。我如何使用JavaScript执行此操作?文档只是向我展示了如何构建HTTP请求

https://maps.googleapis.com/maps/api/place/nearbysearch/output?parameters

但我如何发送此请求?指向我的教程或其他东西会很棒。

2 个答案:

答案 0 :(得分:2)

Places Library完成所有工作。您只需发送所需的fields,然后显示Place Details Results

以下代码摘自文档,向您显示添加到其中的位置以实现您的首选项。

var map;
var service;
var infowindow;

function initialize() {
  var pyrmont = new google.maps.LatLng(-33.8665433,151.1956316);

  map = new google.maps.Map(document.getElementById('map'), {
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      center: pyrmont,
      zoom: 15
    });
 //Here you add the fields you require for request for PlacesService() 
  var request = {
    location: pyrmont,
    radius: '500',
    types: ['store']
  };

  service = new google.maps.places.PlacesService(map);
  service.nearbySearch(request, callback);
}
  //Here you display the Place Details Results
function callback(results, status) {
  if (status == google.maps.places.PlacesServiceStatus.OK) {
    for (var i = 0; i < results.length; i++) {
      var place = results[i];
      createMarker(results[i]);
    }
  }
}

答案 1 :(得分:0)

简短版本:编写一个AJAX调用来获取数据,然后编写一个回调函数来处理该数据。

长版:

Ajax请求

Ajax请求是在网页内发出的HTTP请求,因此页面执行任何导航操作。这些用于执行诸如从API中获取数据(例如您尝试执行的操作)或加载图像,加载其他页面内容等等。

在您的情况下,您希望对API URL执行简单的AJAX请求,然后对您获得的数据执行某些操作。

由于你听起来像是JavaScript的新领域,我强烈推荐使用jQuery JavaScript library.它让像Ajax这样的东西在公园散步。具体来说,您可以使用jQuery.Ajax()函数来构建Web请求。然后,您可以指定将API数据传递给的回调函数,并对其执行某些操作。