Как получить необработанный рейтинг места из Google Places API? - PullRequest
0 голосов
/ 14 ноября 2018

Я пытаюсь получить рейтинг места в Google Местах на карте и застрял в этой части кода:

function initMap() {
  var map = new google.maps.Map();
  var service = new google.maps.places.PlacesService(map);

  service.getDetails({
      placeId: "ChIJ2fNZsMQ0GkcRCt39huGpijo"
    },
    function(place, status) {
      if (status === google.maps.places.PlacesServiceStatus.OK) {
        var rating = place.rating;
        $('.google_rating').html(rating);
      }
    });
}
<div class="rating" id="google_rating">
  <div class="google_rating"></div><span class="rating_star">&#9733;</span>
</div>

<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB1awNWLs_8JOTHWaC08TCUOo0r0PxPqvY&libraries=places&callback=initMap" async defer></script>

Мне не нужна карта, только необработанный рейтинг определенного места (ID места). Чего мне не хватает?

1 Ответ

0 голосов
/ 14 ноября 2018

Конструктор PlacesService принимает либо объект google.maps.Map, либо HTMLDivElement:

PlacesService (attrContainer)

Параметры:
attrContainer: HTMLDivElement | Map
Создает новый экземпляр PlacesService, который отображает атрибуты в указанном контейнере.

Не создавайте его с картой, если она вам не нужна, используйте HTMLDivElementкак это:

var service = new google.maps.places.PlacesService(document.getElementById("placeAttr"));

screenshot of result

фрагмент кода:

function initMap() {
  var service = new google.maps.places.PlacesService(document.getElementById("placeAttr"));

  service.getDetails({
      placeId: "ChIJ2fNZsMQ0GkcRCt39huGpijo"
    },
    function(place, status) {
      if (status === google.maps.places.PlacesServiceStatus.OK) {
        var rating = place.rating;
        $('.google_rating').html(rating);
      }
    });
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="rating" id="google_rating">
  <div class="google_rating"></div><span class="rating_star">&#9733;</span>
</div>
<div id="placeAttr"></div>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB1awNWLs_8JOTHWaC08TCUOo0r0PxPqvY&libraries=places&callback=initMap" async defer></script>
...