在Angular服务中获取谷歌地图API的距离?

问题描述 投票:0回答:1

我正在尝试运行google maps API的JS版本,因为常规API给了我一个CORS问题。我想找到两个目的地之间的距离和时间。如何从我创建的服务中获取数据?

我的服务看起来像这样。

import { Injectable } from '@angular/core';
import { Http } from '@angular/http';

@Injectable()
export class GMapsService {

  constructor(private http: Http) { }

  getData() {
    return //the data back.
  }
}

https://jsfiddle.net/65nuyn4b这个jsfiddle链接显示了如何完成它。但这只是简单的JS,我需要从服务运行它,所以我很困惑如何包含链接中显示的脚本标记,以及如何将所有内容返回到我将订阅的任何组件这个功能。我错过了什么吗?我是Angular的新手。

angular google-maps google-maps-api-3 angular-services
1个回答
0
投票

如果您的getData()函数返回Observable数据,例如return this.http.get("some url");,那么您可以将数据返回到另一个组件中:

import {GMapsService} from './serviceFileName';
export class YourComponent {
// inject your service
constructor(private myService: GMapsService) {

}

aFunction() {
this.myService.getData().subscribe((data: any) => {
  //process the returned data;
}, err => {
  console.error('GMapsService getData() fail');
});

}

© www.soinside.com 2019 - 2024. All rights reserved.