Как использовать PlacesService API Google Maps с использованием угловых карт Google - PullRequest
0 голосов
/ 03 октября 2018

У меня есть код ниже, чтобы загрузить Angular Google Maps ( AGM ).Мне нужно загрузить маркеры на карте местами с помощью API PlacesService.

<agm-map 
  (mapReady)="mapReady($event)" 
  (mapClick)="close_window()" 
  [latitude]="lat" 
  [longitude]="lng" 
  [zoom]="zoom">
  <agm-marker 
    *ngFor="let m of mapArrayList; let i = index"
    (markerClick)="clickedMarker(infowindow);getDistanceMatrix(m.geometry.location.lat,m.geometry.location.lng)"
    [latitude]="m.geometry.location.lat"
    [longitude]="m.geometry.location.lng">
  </agm-marker>
</agm-map>

В моем классе компонентов:

mapReady($event: any) {
  var service = new google.maps.places.PlacesService(map);
  service.nearbySearch({
    location: {
      lat: 29.9751765,
      lng: 31.3087244
    },
    radius: 5000,
    type: ['atm']
  }, (results, status) => {

    if (status === google.maps.places.PlacesServiceStatus.OK) {
      for (var i = 0; i < results.length; i++) {
        this.mapArrayList = results;
        //   this.createMarker(results[i]);
      }
    }
  });
  var myplace = {
    lat: 29.9751765,
    lng: 31.3087244
  };
}

Мне удалось добиться того же с помощью JavaScript.Но я хочу получить приведенный ниже код с помощью agm.

В шаблоне компонента:

<div #map id="map"></div>

В классе компонента

ngOnInit() {

  map = new google.maps.Map(this.mapElement.nativeElement, {
    center: {
      lat: 29.9751765,
      lng: 31.3087244
    },
    zoom: 13
  });
  var service = new google.maps.places.PlacesService(map);
  service.nearbySearch({
    location: {
      lat: 29.9751765,
      lng: 31.3087244
    },
    radius: 5000,
    type: ['atm']
  }, (results, status) => {

    if (status === google.maps.places.PlacesServiceStatus.OK) {
      for (var i = 0; i < results.length; i++) {
        this.createMarker(results[i]);
      }
    }
  });
  var myplace = {
    lat: 29.9751765,
    lng: 31.3087244
  };
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...