2012-07-14 26 views
8

Según la función Google Maps JavaScript API v3 documentation, de la clase getPath() devuelve MVCArray. En un caso sencillo, la ruta de un polígono puede ser una única matriz de LatLngs que se convierte al tipo MVCArray al pasar a la función setPath() de la clase google.maps.Polygon.LatLng de Google Maps Polígono getPath()

El caso anterior es el que estoy tratando actualmente. Paso en una matriz de LatLngs, y regreso (lo que supongo que es) un MVCObject cuando llamo al getPath() en mi objeto Polygon. Mi pregunta es: ¿cómo convierto este MVCObject de nuevo en una única matriz de LatLngs que forma la forma del polígono? ¿Hay alguna versión de la API de Google Maps v3 que me falte? Siento que tiene que haber algún tipo de función de conversión incorporada obvia o algo en la API que me elude.

Cualquier ayuda sería apreciada.

Respuesta

24

Cuando se llama a Polygon.getPath()api-doc, el retorno es un MVCArrayapi-doc de LatLng casos que representan el primer camino de la Polygon. Se puede llegar directamente a los miembros de la MVCAarray de dos maneras:

  1. llamada MVCAarray.getArray, que devolverá el código JavaScript que subyace Array que contiene LatLng miembros.
  2. Use MVCArray.getAt(index), que devolverá lo que está en ese índice en el MVCArray (a LatLng en este caso). Esto le proporciona una forma de configurar un bucle JavaScript for para iterar sobre los miembros de la matriz.

También puede trabajar indirectamente con los miembros de MVCArray utilizando la función forEach(callback:function(*, number)). En este caso, debe pasar una función de devolución de llamada que acepte dos parámetros:

  1. El elemento miembro real del MVCArray.
  2. El índice de matriz donde se encuentra ese elemento.
+0

Por supuesto. No puedo creer que me haya perdido eso en los documentos. Gracias. –

+0

¿Hay alguna manera de obtener LngLat en lugar de LatLong (coordenadas geoJson)? – AllJs

Cuestiones relacionadas