2017-03-19 7 views
0

Ich suche Hilfe bei diesem Fehler, den ich bekomme, wenn ich den Karten-Routenplaner-Dienst verwende, ich bin auf einem Problem Directions service #495 auf der Implementierung des Google Maps-Routenplanerdienstes mit ng-2 und dem folgen SebastianM/angular2-google-maps, ich bin mir nicht sicher, ob mir etwas fehlt, und ich habe wirklich recherchiert und brauche Hilfe, wo der Fehler herkommt.RangeError, Google Maps Wegbeschreibungen Dienst. angular2, SebastianM/angular2-google-maps

EXCEPTION: Uncaught (in promise): RangeError: Maximum call stack size exceeded 
RangeError: Maximum call stack size exceeded 

Hier ist die Richtungen Servicekomponente/Richtlinie, die ich in meinem module.ts erklärt haben,

import { Component, OnInit, Input } from '@angular/core'; 
import { MapsAPILoader, SebmGoogleMap, GoogleMapsAPIWrapper} from 'angular2-google-maps/core'; 
import { Session } from '../../../session'; 

declare var google: any; 
@Component({ 
selector: 'sebm-google-map-directions', 
templateUrl: 'app/modules/move_requests/components/sebm-google-directions.component.html', 
styleUrls: [ 
    'app/modules/move_requests/components/move_requests.component.css' 
] 
}) 

export class DirectionsMapDirective implements OnInit { 
    @Input() origin: any; 
    @Input() destination: any; 
constructor(private mapsAPI: MapsAPILoader,private mapsAPIWrapper: GoogleMapsAPIWrapper) {} 

ngOnInit(): void { 
    let latlngOrigin = Session.get('location_coordinates'); 
    let latlngDest = Session.get('to_location_coords'); 

    this.mapsAPIWrapper.getNativeMap().then(map =>{ 

    this.origin = new google.maps.LatLng(latlngOrigin.lat,latlngOrigin.lng); 
    this.destination = new google.maps.LatLng(latlngDest.lat,latlngDest.lng); 

     var directionsService = new google.maps.DirectionsService; 
     var directionsDisplay = new google.maps.DirectionsRenderer; 
     directionsDisplay.setMap(map); 
     directionsService.route({ 
      origin: this.origin, 
      destination: this.destination, 
      waypoints: [], 
      optimizeWaypoints: true, 
      travelMode: 'DRIVING', 

     },function (res: any, status: any){ 
      if(status === 'OK') { 
       console.log("STATUS WAS OK"); 
       directionsDisplay.setDirections(res) 
      } else { 
       window.alert('Directions request failed due to ' + status); 
      } 
     }); 
    }); 
} 

Und in dieser

<sebm-google-map style="height: 300px;"> 
    <sebm-google-map-directions [origin]="origin" [destination]="destination"></sebm-google-map-directions> 
</sebm-google-map> 

Jede mögliche Unterstützung in der Vorlage haben oder Vorschläge, die zur Lösung des Fehlers führen können, werden mir dankbar sein, danke.

Antwort

0

Mein Fehler war, dass ich die Routen-Services nicht als Richtlinie hatte, sondern eine Komponente, ich habe die Routen-Services in eine Direktive verschoben und in meinem Modul deklariert und dann als HTML-Tag verwendet die Host-Komponente, wenn jemand den Code sehen möchte, kommentieren Sie einfach den Thread dieser Frage.

Verwandte Themen