Google Places API - 详细信息请求

时间:2014-05-07 13:16:42

标签: google-places-api details

我目前正在制作一个使用您当前位置的网站,并为您找到最近的医生。我为此使用了Google Places API。

该网站成功找到最近的医生没有问题,但它没有显示细节,我在实施这个问题时遇到了问题。

经过一些研究后,我发现了有关我认为需要实施的代码的更多细节(HERE)。

我一直在做一些研究和测试很多不同的事情,但我无法在我的代码中找到我需要在哪里或如何实现它。我是新兴的,所以我可能会忽略一些明显的东西。

感谢您阅读!

这是我用来查找用户当前位置附近医生的代码。

 $(document).ready(function()
    {
      navigator.geolocation.getCurrentPosition(initialize);
    });


var map, placesList;

function initialize(position) {

  var lat = position.coords.latitude;
  var lon = position.coords.longitude;

  var currentLocation = new google.maps.LatLng(lat, lon);

  map = new google.maps.Map(document.getElementById('map-canvas'), {
    center: currentLocation,
    zoom: 8
  });

  var request = {
    location: currentLocation,
    radius: 750,
    types: ['doctor']
  };

  placesList = document.getElementById('places');

  var service = new google.maps.places.PlacesService(map);
  service.nearbySearch(request, callback);
}

function callback(results, status, pagination) {
  if (status != google.maps.places.PlacesServiceStatus.OK) {
    return;
  } else {
    createMarkers(results);

    if (pagination.hasNextPage) {
      var moreButton = document.getElementById('more');

      moreButton.disabled = false;

      google.maps.event.addDomListenerOnce(moreButton, 'click',
          function() {
        moreButton.disabled = true;
        pagination.nextPage();
      });
    }
  }
}

function createMarkers(places) {
  var bounds = new google.maps.LatLngBounds();

  for (var i = 0, place; place = places[i]; i++) {
    var image = {
      url: place.icon,
      size: new google.maps.Size(71, 71),
      origin: new google.maps.Point(0, 0),
      anchor: new google.maps.Point(17, 34),
      scaledSize: new google.maps.Size(25, 25)
    };

    var marker = new google.maps.Marker({
      map: map,
      icon: image,
      title: place.name,
      position: place.geometry.location
    });

    placesList.innerHTML += '<li>' + place.name + '</li>';

    bounds.extend(place.geometry.location);
  }
  map.fitBounds(bounds);
}

google.maps.event.addDomListener(window, 'load', initialize);

1 个答案:

答案 0 :(得分:0)

这可能有点太晚了,但我有同样的问题并得到了答案。每个商店的详细信息都在标记上,我无法确定列出所有细节。不过这可能对你有帮助! Google Places API- Address and phone number?