Google maps 查找缩放级别以适合用户的第三个最近点

Google maps 查找缩放级别以适合用户的第三个最近点,google-maps,android-maps-v2,Google Maps,Android Maps V2,我正在开发的应用程序需要一个地图,可以缩放到离用户最近的三个站点。为此,我需要找出用户和距离用户最远的站点之间的距离。然后,我需要缩放地图,将用户位于中心的最远车站包括在内。我知道也知道。我也学到了一点。然而,我似乎无法将所有这些结合起来实现我的目标。有人能告诉我这个方向吗?1)在点之间迭代,找出到当前位置的距离 2) 找到最近的三个点 3) 在谷歌地图中创建一个绑定,如下所示: var bounds = new google.maps.LatLngBounds(); 4) 将该界限延伸到所有

我正在开发的应用程序需要一个地图,可以缩放到离用户最近的三个站点。为此,我需要找出用户和距离用户最远的站点之间的距离。然后,我需要缩放地图,将用户位于中心的最远车站包括在内。我知道也知道。我也学到了一点。然而,我似乎无法将所有这些结合起来实现我的目标。有人能告诉我这个方向吗?

1)在点之间迭代,找出到当前位置的距离

2) 找到最近的三个点

3) 在谷歌地图中创建一个绑定,如下所示:

var bounds = new google.maps.LatLngBounds();
4) 将该界限延伸到所有三点

bounds.extend(myLatLngPoint);
5) 拟合边界:

map.fitBounds(bounds);

如果您有任何问题,请告诉我。

抱歉,我想让@ericpap的回答更优雅一些。您不需要首先找到距离。地图准备好后,在
ngAfterViewInit
中可以执行以下操作:

map.component.ts

import { Component, OnInit, ViewChild, AfterViewInit  } from '@angular/core';
import { AgmMap } from '@agm/core';

declare var google: any;

@Component({
  selector: 'app-map',
  templateUrl: './map.component.html',
  styleUrls: ['./map.component.css']
})
export class MapComponent implements OnInit, AfterViewInit  {

  @ViewChild('AgmMap') agmMap: AgmMap;

  constructor() { }

  private agent1_lat = 40.940911;
  private agent1_lon = 26.317059;

  private agent2_lat = 40.942159;
  private agent2_lon = 26.319591;

  ngOnInit() {
    console.log('onInit')
  }

  ngAfterViewInit(){
    this.agmMap.mapReady.subscribe(map => {
        var bounds = new google.maps.LatLngBounds()
        bounds.extend(new google.maps.LatLng(this.agent1_lat, this.agent1_lon))
        bounds.extend(new google.maps.LatLng(this.agent2_lat, this.agent2_lon))

        map.fitBounds(bounds)
    })
  }
map.component.html

<agm-map #AgmMap [latitude]="lat" [longitude]="lon">
        <agm-marker [latitude]="agent1_lat" [longitude]="agent1_lon"></agm-marker>
        <agm-marker [latitude]="agent2_lat" [longitude]="agent2_lon"></agm-marker>
</agm-map>