Polígonos de OSM a Google Maps

Quiero dibujar un área del distrito de la ciudad en Google Maps usandoPolígono clase y una matriz de coordenadas lat / lng.

OpenStreetMap me proporciona todos los datos que necesito; si escribo algún nombre de distrito, puedo obtener datos útiles en formato XML OSM, por ejemploOSM dibujó el polígono del distrito "Vecmilgravis" en Riga, Letonia y esdatos en formato XML OSM.

El problema son todos esosnode los nodos se ordenan en un orden extraño, así que si solo extraigo todolat ylng pares y hacer una matriz de coordenadas para la clase de Google Maps Polygon No veo lo que esperaba:

Los marcadores se muestran correctamente porque el orden de coordenadas cos no es importante para ellos, pero el polígono está en mal estado porque el orden de coordenadas incorrecto lo copié de los datos de OSM.

Entonces, ¿cómo extraigo (u ordeno manualmente) las coordenadas de los nodos OSM en el orden correcto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta