google.maps.geometry.spherical.computeOffset错误(a.lat不是函数)

时间:2018-06-25 10:29:07

标签: google-maps-api-3 latitude-longitude

我想要一个特定距离附近的latlng值。我浏览了Google Maps api v3的文档。

看看我的代码:

generateCirclepolygon(){
  for (let location of this.pointsLocation) {
    let LatLng:any = {
      lat: parseFloat(location.lat),
      lng: parseFloat(location.lng)
    };
    let newpoints = [];
    var polypoint = google.maps.geometry.spherical.computeOffset(LatLng , 3000 , 0)
    console.log(polypoint , 'point');
  }
}

运行此代码后,我得到ERROR TypeError: a.lat is not a function

我正在向LatLnglat值(均为数字)的对象发送一个lng对象。 3000是以米为单位的距离,而0是航向(即从北向顺时针方向为0度)。

我想要从我的点到北3000米的纬度值。我的主要目的是通过重复此点以获得点阵列来在点周围绘制圆形多边形。

1 个答案:

答案 0 :(得分:0)

相关问题:

对于每个the documentationcomputeOffset方法将google.maps.LatLng作为参数:

  

computeOffset(距,距离,航向[,半径])
  参数:
  来自: LatLng
  距离:数字
  标题:数字
  半径(可选):数字
  返回值:LatLng
  返回LatLng,该LatLng是从距指定方向的原点开始的距离(以自北向顺时针的角度表示)得出的结果。

您要提供一个LatLngLiteral(它没有.lat方法,它具有.lat属性。

let LatLng:any = {
  lat: parseFloat(location.lat),
  lng: parseFloat(location.lng)
};

应为:

let LatLng:any = new google.maps.LatLng(
  parseFloat(location.lat),
  parseFloat(location.lng)
);