我不能在MultiLineString中使用feature.get Geometry()

时间:2016-07-04 13:12:17

标签: google-maps geojson

我正在使用google maps api v3在我的地图上绘制GeoJSON。通过层的点,它正常运行。但是我有一个MultiLineString Camda并且几何图形中心给出了一个错误。这也发生在一个多边形上,但这些点效果很好。有没有其他方法可以集中到MultiLineString和Polygons?

  google.maps.event.addListener(cicloviasLayer, 'addfeature', function (e) {
     console.log(e.feature.getGeometry().getType()); // MultiLineString Ok!
     map.setCenter(e.feature.getGeometry().get());

  });  

Erro:

e.feature.getGeometry(...).get is not a function

1 个答案:

答案 0 :(得分:3)

Data.MultiLineString类没有get方法,它有getAtgetArray方法。

  

getAt(n:number)

     

返回值:Data.LineString

     

返回第n个包含的Data.LineString。

返回的LineString有一个getAt方法,它返回一个google.maps.LatLng对象

  

getAt(n:number)

     

返回值:LatLng

     

返回第n个包含的LatLng。

google.maps.event.addListener(cicloviasLayer, 'addfeature', function (e) {
  console.log(e.feature.getGeometry().getType()); // MultiLineString Ok!
  // will center the map on the first vertex of the first LineString
  map.setCenter(e.feature.getGeometry().getAt(0).getAt(0));
});