// Evento general de atencion de eventos de click sobre el mapa. // Las distintas funciones a cumplir vienen definidas por flags externos: flagAddMarker, etc. public void EventoClickMouse(object sender, HtmlElementEventArgs e) { object[] args = { }; string res = (string)webBrowser2.Document.InvokeScript("actualCoords", args); this.Text = "La posicion es: " + res; // Hizo un click para agregar un punto if (flagAddmarker) { actualPointID++; string idNuevoPunto = "P" + actualPointID.ToString(); string nuevoPunto = (string)webBrowser2.Document.InvokeScript("actualCoords"); Zone.GeoCoord coordNuevoPunto = stringCoordToGeoCoord(nuevoPunto); markerPoints.Add(idNuevoPunto, coordNuevoPunto); actualPoint = coordNuevoPunto; // Actualiza el ListView de los puntos de la zona. actualizarListaPuntos(); actualizarMarkersEnMapa(markerPoints); } }
// Convesion de string a Coordenadas Geometricas. private Zone.GeoCoord stringCoordToGeoCoord(string v_punto) { Zone.GeoCoord result = new Zone.GeoCoord(); string[] coords = v_punto.Split(','); result.latitude = coords[0].Substring(1); result.longitude = coords[1].Substring(0, coords[1].Length - 1); return result; }