2016-11-08 12 views
0

Ich benutze Angular 2 beta.18 und versuche, Google Map Geocode zu verwenden. Ich mache das gleiche wie alle Tutorial beschreiben, aber ich bekomme eine seltsame Antwort.Angular 2 HTTP funktioniert nicht

Meine Komponente:

import { Injectable } from '@angular/core'; 
import { Http, Response} from '@angular/http'; 
import {Observable} from 'rxjs/Observable'; 

@Injectable() 
export class GoogleMapService { 

    constructor(private http: Http) { } 

convertAddressToCooredinate(address: string){ 
    if(address != null){ 
    var address ="1334 Emerson St, NE Washington DC"; 
    return this.http.get('https://maps.googleapis.com/maps/api/geocode/json?address='+encodeURIComponent(address)) 
        .map(response => response.json()); 
    } 
    } 
} 

Die Antwort eine JSON mit den Ergebnissen enthalten sollte jedoch erhalte ich folgendes:

Observable {_isScalar: false, Quelle: Observable, Betreiber: MapOperator}

Ich versuchte, die Anfrage an andere URLs zu richten und die gleiche Antwort zu erhalten.

+1

Wo abonnieren Sie auf diese beobachtbar? – echonax

+1

Warum aktualisieren Sie nicht? Beta 18 ist sehr alt. –

+0

@ GünterZöchbauer vielleicht täusche ich mich, ich habe vor einer Woche mit Angular-cli ein Projekt erstellt. Die Readme-Datei sagt Version 1.0.0-Beta.18. –

Antwort

1

Ihre convertAddressToCooredinate Funktion gibt eine Observable zurück. Wenn Sie dieses Observable nicht in Ihrem Code abonnieren, werden Sie keinen Restanruf an Ihr Back-End tätigen. Daher protokollierst du nur deine Beobachtbarkeit.

Beispiel:

Some Component 
constructor(private gms: GoogleMapService) { 
    this.gms.convertAddressToCooredinate('some address') 
     .subscribe((response)=>{ 
      console.log(response); 
     }); 
} 
+1

Vielen Dank! –

+0

@DanaEzer Ich bin froh, dass ich helfen konnte – echonax