2017-03-19 6 views
0

地図の方向サービスを使用しているときにこのエラーが発生した場合は、ng-2のgoogle maps directionsサービスの実装についてDirections service #495の問題をフォローしています。 SebastianM/angular2-google-maps、私は何かが不足しているかどうかわからないし、私は実際にこれを研究して、エラーがどこから来ているのかについて助けが必要です。ここでRangeError、google maps directionsサービス。角度2、SebastianM/angular2-google-maps

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

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); 
      } 
     }); 
    }); 
} 

とでは、テンプレート

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

にどのような援助をこれを持って、私は私のmodule.tsに宣言した方向サービス・コンポーネント/ディレクティブ、ありますかエラーの解決につながる可能性のある提案は感謝します、ありがとう。

答えて

0

私はディレクティブとして方向サービスを持っていませんでしたが、コンポーネントでは、ディレクティブに方向サービスを移動し、モジュールで宣言してから、そのタグをHTMLタグとして使用しました。誰かがコードを見たいと思えば、ホストコンポーネントはこの質問のスレッドにコメントします。

関連する問題