/// <summary> /// Método encargado de Obtener el Mapa de la Ubicación. (Marcando una o Varias Posiciones en el Mapa) /// </summary> /// <param name="tipoMapa">Tipo de Mapa</param> /// <param name="ancho">Ancho del Mapa</param> /// <param name="alto">Alto del Mapa</param> /// <param name="marcador">Marcador (Etiqueta, Color, Latitud, Longitud) del Mapa</param> /// <param name="imagen">Parametro de Imagen de Salida</param> /// <returns></returns> public RetornoOperacion ObtieneMapaUbicacion(TipoMapa tipoMapa, int ancho, int alto, MarcadorMapa marcador, out Bitmap imagen) { //Declarando Objeto de Retorno RetornoOperacion result = new RetornoOperacion(); imagen = null; //Validando que existan Alto y Ancho if (ancho > 0 && alto > 0) { //Validando Marcador if (marcador.ubicacion != SqlGeography.Null) { //Creando URL de Petición string url_parametros = string.Format("{0}?size={1}x{2}&maptype={3}&{4}&key={5}", this._url, ancho, alto, traduceTipoMapa(tipoMapa), convierteMarcadorCadena(marcador), this._key); //Ejecutando Petición Web result = obtieneRespuestaPeticion(url_parametros, out imagen); } else { //Instanciando Excepción result = new RetornoOperacion("Debe de Especificar una Ubicación"); } } else { //Instanciando Excepción result = new RetornoOperacion("Valores de Ancho y Alto Invalidos"); } //Devolviendo Resultado Obtenido return(result); }
/// <summary> /// Método encargado de Traducir los Tipos de Mapa /// </summary> /// <param name="tipoMapa"></param> /// <returns></returns> private string traduceTipoMapa(TipoMapa tipoMapa) { //Declarando Objeto de Retorno string tipo = ""; //Evaluando Tipo de Petición switch (tipoMapa) { case TipoMapa.Camino: tipo = "roadmap"; break; case TipoMapa.Satelite: tipo = "satellite"; break; case TipoMapa.Hibrido: tipo = "hybrid"; break; case TipoMapa.Terreno: tipo = "terrain"; break; } //Devolviendo Resultado Obtenido return(tipo); }
private static void NuevaEntradaLeyendaTematica(TipoMapa tipo, string uid, VectorLayer capa, string titulo, EntradaLeyendaTematica.TipoOrdenacion ordenacion) { switch (tipo) { case TipoMapa.TemaUso: _entradaTemaUsos = new EntradaLeyendaTematica(uid, capa, titulo, ordenacion); _leyenda.AgregarEntrada(_entradaTemaUsos); break; case TipoMapa.TemaAdscripcion: _entradaTemaAdsc = new EntradaLeyendaTematica(uid, capa, titulo, ordenacion); _leyenda.AgregarEntrada(_entradaTemaAdsc); break; } }
/// <summary> /// Método encargado de Obtener el Mapa de la Ubicación. (Definiendo el Centro del Mapa, el Zoom, Marcando uno o varios Puntos en el Mapa) /// </summary> /// <param name="centro">Centro del Mapa</param> /// <param name="tipoMapa">Tipo de Mapa</param> /// <param name="zoom">Enfoque del Mapa</param> /// <param name="ancho">Ancho del Mapa</param> /// <param name="alto">Alto del Mapa</param> /// <param name="marcador">Marcador (Etiqueta, Color, Latitud, Longitud) del Mapa</param> /// <param name="imagen">Parametro de Imagen de Salida</param> /// <returns></returns> public RetornoOperacion ObtieneMapaUbicacion(SqlGeography centro, TipoMapa tipoMapa, int zoom, int ancho, int alto, MarcadorMapa marcador, out Bitmap imagen) { //Declarando Objeto de Retorno RetornoOperacion result = new RetornoOperacion(); imagen = null; //Si el Zoom es mayor a 0 if (zoom > 0) { //Validando que existan Alto y Ancho if (ancho > 0 && alto > 0) { //Validando que exista la Ubicación del Marcador if (marcador.ubicacion != SqlGeography.Null) { //Creando URL de Petición string url_parametros = string.Format("{0}?center={1},{2}&zoom={3}&size={4}x{5}&maptype={6}&{7}&key={11}", this._url, centro.STGeometryType().Value.Equals("Point") ? centro.Lat : centro.EnvelopeCenter().Lat, centro.STGeometryType().Value.Equals("Point") ? centro.Long : centro.EnvelopeCenter().Long, zoom, ancho, alto, traduceTipoMapa(tipoMapa), convierteMarcadorCadena(marcador), this._key); //Ejecutando Petición Web result = obtieneRespuestaPeticion(url_parametros, out imagen); } else { //Instanciando Excepción result = new RetornoOperacion("Debe de Especificar una Ubicación"); } } else { //Instanciando Excepción result = new RetornoOperacion("Valores de Ancho y Alto Invalidos"); } } else { //Instanciando Excepción result = new RetornoOperacion("Debe de Especificar el Valor Zoom"); } //Devolviendo Resultado Obtenido return(result); }
public static void CrearMapa(Graphics canvas, Map mapa, IUnidadGeoEstadistica uge, List <Geometry> lp, Estancia est, TipoMapa tipo, TipoPaleta paleta) { _paleta = paleta; switch (tipo) { case TipoMapa.Predeterminado: CrearMapaPorDefecto(canvas, mapa, uge, lp, est); break; case TipoMapa.TemaUso: CrearMapaTematicoUsos(canvas, mapa, uge, lp, est); break; case TipoMapa.TemaAdscripcion: CrearMapaTematicoAdscripcion(canvas, mapa, uge, lp, est); break; default: break; } }