Adsence

Mostrando entradas con la etiqueta programacion. Mostrar todas las entradas
Mostrando entradas con la etiqueta programacion. Mostrar todas las entradas

martes, 24 de septiembre de 2013

Manejo de zonas con OpenLayers

Leave a Comment
 

[caption id="" align="aligncenter" width="640"] Manejo de ZONAS con OpenLayers[/caption]

En esta guía, veremos como podemos crear sobre el mapa de forma dinamia "zonas". Estas zonas son áreas que se muestran con otro color sobre el mapa, que delimitan lo que a nosotros nos apetece, pueden ser "zonas de cuidado", "areas de cobertura", etc.

 

Para poder crear estas zonas, debemos añadir una capa nueva al mapa, esta capa sera del tipo  Vector

[codesyntax lang="javascript"]
vectors = new OpenLayers.Layer.Vector("Capa Vectorial");
mapa.addLayer(vectors);

[/codesyntax]

 

También se usaran 2 variables para determinar que acción se va a realizar:

  • drawP: si dibujar una nueva área

  • editP: editar una ya existente


[codesyntax lang="javascript"]

drawP=new OpenLayers.Control.DrawFeature(vectors,OpenLayers.Handler.Polygon)
mapa.addControl(drawP);
editP= new OpenLayers.Control.ModifyFeature(vectors);
mapa.addControl(editP);

[/codesyntax]

En este caso, se instancia la variable drawP, para que pintara un polígono, pero también se puede escoger Point o RegularPolygon (para ver mas información sobre la clase OpenLayers.Handler, visitar la documentación oficial ).

[codesyntax lang="javascript"]

var options =
{
hover: true,
onSelect: serialize
};
select = new OpenLayers.Control.SelectFeature(vectors, options);
mapa.addControl(select);

[/codesyntax]

En esta sección, lo que se hace es agregar un control al evento "SelectFeature", esto con el fin de que cuando se coloque el mouse sobre un área (hover), se pinte su código en el cuadro de dialogo. Para realizar estas acciones se llama a la función "serialize", tal como se describe en la variable options, que se pasa al constructor de la variable select.

 

La funcion updateFormats es usada para determinar en que formato se mostrara la salida, con formato me refieron a las "medidas " de coordenadas.

Las funciones activarDrawFeacture y activarModifyFeacture son usadas para determina que accion a realizar, si pintar una zona (feature) o modificar una ya existente, para esto, solo basta con llamar dichas funciones desde los botones respectivos.

Para poder realizar todas las acciones anteriomente mencionadas, primero se debe llamar a la funcion iniciarDrawFeacture, que se encarga de iniciar todo lo necesario (capas, variables,controles,etc). Para hacer esto, lo realizamos desde la funcion onLoad del body

[codesyntax lang="html4strict"]
<body onload="iniciar(); iniciarDrawFeacture();">

[/codesyntax]

 

Aqui esta el codigo de la pagina zonas.html

[codesyntax lang="html4strict"]
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
<script type="text/javascript" src="http://www.openlayers.org/api/OpenLayers.js"></script>
<script type="text/javascript" src="js/OpenLayers_base.js"></script>
<script type="text/javascript" src="js/OpenLayers_features.js"></script>
<style type="text/css">
.smallmap {
width: 929px;
height: 300px;
}
</style>
</head>
<body <body onLoad="iniciar();iniciarDrawFeacture();">
<h3>Nuestro primer mapa con OpenLayers</h3>
<div id="mapa" class="smallmap">

</div>
<table width="80%">
<tr>
<td align="center">
<input type="submit" name="crearFeature" id="crearFeature" value="Crear Zona" onclick="activarDrawFeacture()" />
</td>
<td align="center">
<input type="submit" name="editarFeature" id="editarFeature" value="Editar Zona" onclick="activarModifyFeacture()" />
</td>
</tr>
</table>

<p align="center"><strong>Coordenadas Zona</strong></p>
<div align="center">
<textarea name="coordenadasZona" cols="80" rows="10" id="coordenadasZona"></textarea>
</input>
</body>
</html>

[/codesyntax]

Aqui esta el archivo OpenLayers_features.js

[codesyntax lang="javascript"]
var drawP,editP,vectors,select,formats;

//Funcion se encarga de agregar los controles para poder dibujar y editar polygonos
function iniciarDrawFeacture()
{

vectors = new OpenLayers.Layer.Vector("Capa Vectorial");
mapa.addLayer(vectors);
drawP=new OpenLayers.Control.DrawFeature(vectors,OpenLayers.Handler.Polygon)
mapa.addControl(drawP);
editP= new OpenLayers.Control.ModifyFeature(vectors);
mapa.addControl(editP);
updateFormats();
var options =
{
hover: true,
onSelect: serialize
};
select = new OpenLayers.Control.SelectFeature(vectors, options);
mapa.addControl(select);

}
//Esta funcion permite dibujar un feature()
function activarDrawFeacture()
{
editP.deactivate();
drawP.activate();
select.activate();

}
//Esta funcion permite obtener el codigo de un poligono y mostrarlo en un string
function serialize(feature)
{
var type = "geojson";
// second argument for pretty printing (geojson only)
var pretty = 1;
var str = formats['out'][type].write(feature, pretty);
// not a good idea in general, just for this demo
str = str.replace(/,/g, ', ');
$("#coordenadasZona").attr('value','Codigo Zona: '+str);
return str;
}
//Esta funcion es para tener unos formatos estandar de codificacion
function updateFormats()
{
var in_options = {
'internalProjection': mapa.baseLayer.projection,
'externalProjection': new OpenLayers.Projection("EPSG:4326")
};
var out_options = {
'internalProjection': mapa.baseLayer.projection,
'externalProjection': new OpenLayers.Projection("EPSG:4326")
};
var gmlOptions = {
featureType: "feature",
featureNS: "http://example.com/feature"
};
var gmlOptionsIn = OpenLayers.Util.extend(
OpenLayers.Util.extend({}, gmlOptions),
in_options
);
var gmlOptionsOut = OpenLayers.Util.extend(
OpenLayers.Util.extend({}, gmlOptions),
out_options
);
var kmlOptionsIn = OpenLayers.Util.extend(
{extractStyles: true}, in_options);
formats = {
'in': {
wkt: new OpenLayers.Format.WKT(in_options),
geojson: new OpenLayers.Format.GeoJSON(in_options),
georss: new OpenLayers.Format.GeoRSS(in_options),
gml2: new OpenLayers.Format.GML.v2(gmlOptionsIn),
gml3: new OpenLayers.Format.GML.v3(gmlOptionsIn),
kml: new OpenLayers.Format.KML(kmlOptionsIn),
atom: new OpenLayers.Format.Atom(in_options),
gpx: new OpenLayers.Format.GPX(in_options),
encoded_polyline: new OpenLayers.Format.EncodedPolyline(in_options)
},
'out': {
wkt: new OpenLayers.Format.WKT(out_options),
geojson: new OpenLayers.Format.GeoJSON(out_options),
georss: new OpenLayers.Format.GeoRSS(out_options),
gml2: new OpenLayers.Format.GML.v2(gmlOptionsOut),
gml3: new OpenLayers.Format.GML.v3(gmlOptionsOut),
kml: new OpenLayers.Format.KML(out_options),
atom: new OpenLayers.Format.Atom(out_options),
gpx: new OpenLayers.Format.GPX(out_options),
encoded_polyline: new OpenLayers.Format.EncodedPolyline(out_options)
}
};
}

function activarModifyFeacture()
{
editP.activate();
drawP.deactivate();
select.deactivate();
editP.mode = OpenLayers.Control.ModifyFeature.RESHAPE;
editP.createVertices = true;
}

[/codesyntax]

 

Si desean el código
fuente completo, con un buen diseño, pueden visitar el siguiente link

Download

 
Read More...

lunes, 23 de septiembre de 2013

Manejo de marcadores con OpenLayers

Leave a Comment
[caption id="" align="aligncenter" width="640"] Manejo de marcadores con OpenLayers con un buen Diseño[/caption]

En esta guía, veremos como podemos hacer uso del evento clic del mouse para poder agregar marcadores a nuestro mapa, los marcadores no son mas que unas pequeñas imágenes que aparecen en el mapa indicándonos que hay se encuentra algo, un ejemplo muy claro lo pueden ver en la siguiente imagen.



Para este caso se ha creado un archivo  llamado OpenLayers_marcadores.js, que tendrá una función encargada de crear los marcadores.

[codesyntax lang="javascript"]
//Variable para determinar el tamaño de los popup
AtoSizeAnchoredMinSize = OpenLayers.Class(OpenLayers.Popup.Anchored, {
'autoSize': true,
'minSize': new OpenLayers.Size(400,400)
});

//Se encarga de agregar un marcador en la posicion dada
/**
Longitud: Longitud en el mapa
Latitud: Latitud en el mapa
MensajeHtml: Codigo html que se mostrara en el popup
*/
function agregarMarcador(longitud,latitud,mensajeHtml,closeBox,overflow)
{
ll = new OpenLayers.LonLat(longitud,latitud);
var popupClass = AutoSizeAnchoredMinSize;
var popupContentHTML = mensajeHtml;

var feature = new OpenLayers.Feature(markers, ll);
feature.closeBox = closeBox;
feature.popupClass = popupClass;
feature.data.popupContentHTML = popupContentHTML;

feature.data.overflow = (overflow) ? "auto" : "hidden";

var marker = feature.createMarker();

var markerClick = function (evt) {
if (this.popup == null)
{
this.popup = this.createPopup(this.closeBox);
mapa.addPopup(this.popup);
this.popup.show();
} else {
this.popup.toggle();
}
currentPopup = this.popup;
OpenLayers.Event.stop(evt);
};
marker.events.register("mousedown", feature, markerClick);
markers.addMarker(marker);
}

[/codesyntax]

 

Dicha clase tiene una función principal que se llama  agregarMarcador, esta funcion recibe 5 parametros, pero de los cuales solo 3 son necesarios:

  • Longitud: Longitud en el mapa

  • Latitud: Latitud en el mapa

  • MensajeHtml: Codigo html que se mostrara en el popup


Aparte de lo anterior se ha modificado el archivo OpenLayes_base.js

[codesyntax lang="javascript"]
var mapa,capa,controls,markers;
var centerWGS84, centerOSM;
var projWGS84, projSphericalMercator;
var activarMensaje=0,activarMarcadores=0;
function iniciar()
{
//Para tener coordenadas estandar
projWGS84 = new OpenLayers.Projection("EPSG:4326");
projSphericalMercator = new OpenLayers.Projection("EPSG:900913");
//Centrar el mapa en el punto dado
centerWGS84=new OpenLayers.LonLat(-74.061674,4.661464);
//Transformar coordenadas anteriores
centerOSM = transformToSphericalMercator(centerWGS84);
//Creacion del mapa
mapa=new OpenLayers.Map("mapa");
//Creacion de capas
capa=new OpenLayers.Layer.OSM("Capa OSM");
markers= new OpenLayers.Layer.Markers( "Marcadores" );
//Adicion de capas al mapa
mapa.addLayer(capa);
mapa.addLayer(markers);
//Centro el mapa en la posicion dada
mapa.setCenter(centerOSM, 15);
//Adicion de controles al mapa
//Evento para el movimiento del mouse
mapa.events.register("mousemove", mapa, mouseMoveHandler);
//Control para el click del mouse en el mapa
var click = new OpenLayers.Control.Click();
mapa.addControl(click);
click.activate();
mapa.addControl(new OpenLayers.Control.LayerSwitcher());
}
//Funcion que registrar el movimiento del mouse
function mouseMoveHandler(e)
{
var position = this.events.getMousePosition(e);
var lonlat = mapa.getLonLatFromPixel(position);
//Tras obtener las coordenadas, podemos hacer lo que deseemos

$("#coordenadas").attr('value','Evento MouseMove: '+transformMouseCoords(lonlat));

}

function transformMouseCoords(lonlat)
{
var newlonlat=transformToWGS84(lonlat);
var x = Math.round(newlonlat.lon*10000)/10000;
var y = Math.round(newlonlat.lat*10000)/10000;
newlonlat = new OpenLayers.LonLat(x,y);
return newlonlat;
}
function transformToWGS84( sphMercatorCoords)
{
// Transforma desde SphericalMercator a WGS84
// Devuelve un OpenLayers.LonLat con el pto transformado
var clon = sphMercatorCoords.clone(); // Si no uso un clon me transforma el punto original
var pointWGS84= clon.transform(
new OpenLayers.Projection("EPSG:900913"), // to Spherical Mercator Projection;
new OpenLayers.Projection("EPSG:4326")); // transform from WGS 1984
return pointWGS84;
}
function transformToSphericalMercator( wgs84LonLat)
{
// Transforma desde SphericalMercator a WGS84
// Devuelve un OpenLayers.LonLat con el pto transformado
var clon = wgs84LonLat.clone(); // Si no uso un clon me transforma el punto original
var pointSphMerc= clon.transform(
new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984
new OpenLayers.Projection("EPSG:900913")); // to Spherical Mercator Projection;
return pointSphMerc;
}
//Es un evento que se activa cuando se da clic sobre el mapa
OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control,
{
defaultHandlerOptions:
{
'single': true,
'double': false,
'pixelTolerance': 0,
'stopSingle': false,
'stopDouble': false
},
initialize: function(options)
{
this.handlerOptions = OpenLayers.Util.extend({}, this.defaultHandlerOptions);
OpenLayers.Control.prototype.initialize.apply(this, arguments);
this.handler = new OpenLayers.Handler.Click(this,{'click': this.trigger}, this.handlerOptions);
},
trigger: function(e)
{
//Convierto la posicion del mouse, a coordenadas
var lonlat = mapa.getLonLatFromPixel(e.xy);
//Luego de obtener las coordenadas, podemos hacer lo que deseemos, en este caso, para mantener la compatibilidad con los ejemplos anteriores, se crea variables para saber que hacer al momento de dar un click, si se muestra un mensaje o se agrega un marcador
if(activarMensaje==1){
alert("Evento MouseClick: "+transformMouseCoords(lonlat));
}
//INICIO AGREGAR MARCADORES
if(activarMarcadores==1)
{
var htmlStr='<div style="height: 200px; width: 400px; border: 1px solid black;"> Titulo</br> Contenido, puedo digitar lo que desee y lo mejor es que puede ser codigo html, asi que podemos colocar imagenes, fondos, links, etc </div>';
//Esta funcion se encuentra en el archivo OpenLayers_marcadores
agregarMarcador(lonlat.lon,lonlat.lat,htmlStr,true,true);
}
//FIN AGREGAR MARCADORES

}
});

[/codesyntax]

Dicho archivo, ya había sido usado en las guías anteriores, por ende solo se explicaran las modificaciones (si no entiendes algo, puedes probar ir a los tutoriales anteriores y ver la información necesaria).

 

  • Se creo una nueva variable llamada markers, que se una capa que contendrá los marcadores


[codesyntax lang="javascript"]



var markers;
markers= new OpenLayers.Layer.Markers( "Marcadores" );
mapa.addLayer(markers);

[/codesyntax]




  • Se crearon dos nuevas variables, con el fin de determinar que
Read More...

Manejo de eventos del mouse con OpenLayers

Leave a Comment
[caption id="" align="aligncenter" width="640"] Manejo de eventos del mouse con OpenLayers con un buen Diseño[/caption]

En esta guía hablaremos sobre como manejar eventos del ratón, tales mousemove y mouseClick, esto con el fin de poder capturar las coordenadas del mouse para realizar las acciones que nosotros queramos (guardarlas en una base de datos, un archivo, mostrarla en un texto, etc).
Pagina index.html

[codesyntax lang="html4strict"]
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
<script type="text/javascript" src="http://www.openlayers.org/api/OpenLayers.js"></script>
<script type="text/javascript" src="js/OpenLayers_base.js"></script>
<style type="text/css">
.smallmap {
width: 929px;
height: 300px;
}
</style>
</head>
<body <body onLoad="iniciar()">
<h3>Nuestro primer mapa con OpenLayers</h3>
<div id="mapa" class="smallmap">

</div>
<h4>Coordenadas: </h4>
<input name="coordenadas" type="text" id="coordenadas" size="50"></input>
</body>
</html>

[/codesyntax]

Como vera, esta ves lo que hice fue escribir todo el código javascript escrito en las guías pasadas, y colocarlo en un archivo llamado OpenLayers_base, y luego enlazarlo en la pagina. Todo esto con el fin de tener un mayor orden.

 
OpenLayer_base.js

 

[codesyntax lang="javascript"]
var mapa,capa,controls;
var centerWGS84, centerOSM;
var projWGS84, projSphericalMercator;
function iniciar()
{
//Para tener coordenadas estandar
projWGS84 = new OpenLayers.Projection("EPSG:4326");
projSphericalMercator = new OpenLayers.Projection("EPSG:900913");
//Centrar el mapa en el punto dado
centerWGS84=new OpenLayers.LonLat(-74.061674,4.661464);
//Transformar coordenadas anteriores
centerOSM = transformToSphericalMercator(centerWGS84);
//Creacion del mapa
mapa=new OpenLayers.Map("mapa");
//Creacion de capas
capa=new OpenLayers.Layer.OSM("Capa OSM");

//Adicion de capas al mapa
mapa.addLayer(capa);

//Centro el mapa en la posicion dada
mapa.setCenter(centerOSM, 15);
//Adicion de controles al mapa
//Evento para el movimiento del mouse
mapa.events.register("mousemove", mapa, mouseMoveHandler);
//Control para el click del mouse en el mapa
var click = new OpenLayers.Control.Click();
mapa.addControl(click);
click.activate();
}
//Funcion que registrar el movimiento del mouse
function mouseMoveHandler(e)
{
var position = this.events.getMousePosition(e);
var lonlat = mapa.getLonLatFromPixel(position);
//alert(lonlat);
$("#coordenadas").attr('value','Evento MouseMove: '+transformMouseCoords(lonlat));
}

function transformMouseCoords(lonlat)
{
var newlonlat=transformToWGS84(lonlat);
var x = Math.round(newlonlat.lon*10000)/10000;
var y = Math.round(newlonlat.lat*10000)/10000;
newlonlat = new OpenLayers.LonLat(x,y);
return newlonlat;
}
function transformToWGS84( sphMercatorCoords)
{
// Transforma desde SphericalMercator a WGS84
// Devuelve un OpenLayers.LonLat con el pto transformado
var clon = sphMercatorCoords.clone(); // Si no uso un clon me transforma el punto original
var pointWGS84= clon.transform(
new OpenLayers.Projection("EPSG:900913"), // to Spherical Mercator Projection;
new OpenLayers.Projection("EPSG:4326")); // transform from WGS 1984
return pointWGS84;
}
function transformToSphericalMercator( wgs84LonLat)
{
// Transforma desde SphericalMercator a WGS84
// Devuelve un OpenLayers.LonLat con el pto transformado
var clon = wgs84LonLat.clone(); // Si no uso un clon me transforma el punto original
var pointSphMerc= clon.transform(
new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984
new OpenLayers.Projection("EPSG:900913")); // to Spherical Mercator Projection;
return pointSphMerc;
}
//Es un evento que se activa cuando se da clic sobre el mapa
OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control,
{
defaultHandlerOptions:
{
'single': true,
'double': false,
'pixelTolerance': 0,
'stopSingle': false,
'stopDouble': false
},
initialize: function(options)
{
this.handlerOptions = OpenLayers.Util.extend({}, this.defaultHandlerOptions);
OpenLayers.Control.prototype.initialize.apply(this, arguments);
this.handler = new OpenLayers.Handler.Click(this,{'click': this.trigger}, this.handlerOptions);
},
trigger: function(e)
{
//Convierto la posicion del mouse, a coordenadas
var lonlat = mapa.getLonLatFromPixel(e.xy);
alert("Evento MouseClick: "+transformMouseCoords(lonlat));
}
});

[/codesyntax]

El archivo esta dividido en las siguiente funciones:

  • iniciar: Se encarga de instanciar los objetos requeridos y agregar los controles al mapa

  • mouseMoveHandler: Función que es llamada cuando se produce el movimiento del mouse

  • transformMouseCoords,transformToWGS84,transformToSphericalMercator: Son funciones implementadas para poder obtener convertir las coordenadas a las estándar, debido a que la capa OSM trabaja con otro sistema de medición.

  • OpenLayers.Control.Click: Es el evento que se encarga de manejar el Click del mouse


Las ultimas lineas de la funcion iniciar, se encargan de agregar los eventos al mapa.

 

En OpenLayers.Control.Click, nos permite realizar unas configuraciones para poder administrar el evento clic del mouse dentro del mapa, las mas destacada, por ejemplo es

[codesyntax lang="java5"]
defaultHandlerOptions: 
{
'single': true,
'double': false
}

[/codesyntax]

Donde single, si el valor es true, se ejecutara el código dentro del parámetro trigger si se hizo un solo clic con el mouse. Si double es true se ejecutara el código dentro del parámetro trigger si se hizo doble clic con el mouse.

 

Al final nos queda algo como esto:

[caption id="" align="aligncenter" width="640"] Manejo de eventos del mouse con OpenLayers[/caption]

Si desean descargar el código fuente de Manejo de eventos del mouse con OpenLayers con un buen Diseño, den clic en el siguiente enlace

Download

Y eso es todo por el momento, en las siguiente guías encontraran mas información sobre como iniciarse en OpenLayers:
Read More...

Crear un mapa con OpenLayers

Leave a Comment
[caption id="" align="aligncenter" width="640"] Crear un mapa con OpenLayers con un buen Diseño[/caption]

Buenos días, en nuestra guía anterior explicábamos como descargar la biblioteca de OpenLayers para poder empezar a trabajar con esta herramienta  (puedes ver la guía aquí ) .

 

Ahora procederemos a agregar un mapa a nuestra pagina, para luego poder realizar cualquier acción que deseemos (agregar,quitar marcadores, figuras, etc ).

Para poder añadir un mapa a la pagina, debemos primero crear un elemento "div" dentro de la pagina web, que sera el encargado de contener dicho mapa, ese "div" por regla debe tener el atributo id y el atributo class.

El atributo id, no permitirá identificar ese div, para luego con javascript poder pintar el mapa, y el atributo class, nos permitirá enlazarle un css para poder definir la altura y anchura. Tendríamos algo como esto

[codesyntax lang="html4strict"]
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="OpenLayers.js"></script>
<style type="text/css">
.smallmap {
width: 929px;
height: 300px;
}
</style>
</head>
<body>
<h3>Nuestro primer mapa con OpenLayers</h3>
<div id="mapa" class="smallmap">

</div>
</body>
</html>

[/codesyntax]

Pero si abrimos ese código, nos daremos cuenta de que realmente no hace nada, eso es debido a que nos falta implementar el javascript que se encarga de pintar el mapa. Para poder crear el mapa, debemos (en javascript ) crear un objeto del tipo OpenLayers.Map. Dicho constructor recibe un parámetro, que es el id del div que lo contendrá

[codesyntax lang="javascript"]
var mapa=new OpenLayers.Map("mapa");

[/codesyntax]

Luego se debe crear y agregar una "capa" para mostrar, esta capa lo que tendrá es la manera como se visualizara el mapa ( para conocer todos los tipos de capas pueden visitar la documentación oficial ). También debemos centrar el mapa, para que cargue en una zona que queramos, para esto debemos darle las coordenadas de longitud y latitud

[codesyntax lang="javascript"]
capa=new OpenLayers.Layer.OSM("OSM Map");
mapa.addLayer(capa);
mapa.setCenter(
new OpenLayers.LonLat(-74.061674, 4.661464).transform(
new OpenLayers.Projection("EPSG:4326"),
mapa.getProjectionObject()
), 12
);

[/codesyntax]

[codesyntax lang="html4strict"]

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="http://www.openlayers.org/api/OpenLayers.js"></script>
<script type="text/javascript">
//Variables a utilizar
var mapa,capa;
function iniciar()
{
//Creando el mapa
mapa=new OpenLayers.Map("mapa");
//Creando la capa
capa=new OpenLayers.Layer.OSM("OSM Map");
//Agregando la capa
mapa.addLayer(capa);
//Establenciendo donde visualizara el mapa, para esto debemos pasarle las coordenadas
//de latitud y longitud, ademas del zoom, que indica que en este caso es 12
mapa.setCenter(
new OpenLayers.LonLat(-74.061674, 4.661464).transform(
new OpenLayers.Projection("EPSG:4326"),
mapa.getProjectionObject()
), 12
);
}
</script>
<style type="text/css">
.smallmap {
width: 929px;
height: 300px;
}
</style>
</head>
<body <body onload="iniciar()">
<h3>Nuestro primer mapa con OpenLayers</h3>
<div id="mapa" class="smallmap">

</div>
</body>
</html>

[/codesyntax]

Quedándonos lo que sigue:



Pueden descargar el código fuente de Crear un mapa con OpenLayers con un buen Diseño en el siguiente enlace

Download

 

Y eso es todo por el momento, en las siguiente guías encontraran mas información sobre como iniciarse en OpenLayers:
Read More...

martes, 27 de agosto de 2013

Buscar palabras

Leave a Comment
 

Programa, que dada una cantidad de palabras, busque entre ellas para determinar si existe una palabra en especifico

 

icn-C

 

[codesyntax lang="c"]
#include<stdio.h>
#include<conio.h>
#include<string.h>
main()
{
printf("Cantidad de Palabras:");
int c;
scanf("%d",&c);
char *palabras[c];
for(int i=0;i<c;i++)
{
printf("Palabra: ");
scanf("%s",&palabras[i]);
printf("Se guardo: %s n",&palabras[i]);
}
printf("Palabra buscar: ");
char *buscar;
scanf("%s",&buscar);
bool esta=false;
for(int i=0;i<c;i++)
{
if(palabras[i]==buscar)
esta=true;
//if(strcmp(palabras[i],buscar)==0)
// esta=true;

}
if(esta)
printf("Si se encuentra !!");
else
printf("No se encuentra !!");
}

[/codesyntax]

[wp_cart:buscarPalabras.C:price:1:end]
Read More...

Mover elemento de una matriz hasta la posición indicada

2 comments
Este programa permite poder mover un elemento 'A' hasta un elemento 'B' de una matriz y que cuando llegue a 'B' deje de mover el elemento 'A'.

 

icn-C++

[codesyntax lang="cpp"]
#include <iostream>
using namespace std;
void imprimirMatriz(char matriz[9][9],int n,int m)
{

}
int main () {

int n,m,x,y,w,z;
int f,c;
cin>>n>>m;
char matriz [n][m];

for (f = 0; f < n; f++)
{
for (c = 0; c < m; c++)
{
cin>>matriz [f][c];

if (matriz [f][c] == 'A')
{
x = f;
y = c;
}

if (matriz [f][c] == 'B')
{
w = f;
z = c;
}

}
}

for (f = 0; f < n; f++)
{
cout<<endl;
for (c = 0; c < m; c++)
{
if(matriz[f][c]=='B')
{
//Termino el programa
matriz[f][c]='A';
c=m;
f=n;
}else{
if(matriz[f][c]=='A')
{
matriz[f][c]='.';
}else{
matriz[f][c]='.';
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cout<<matriz[i][j];
}
cout<<endl;
}

}
}
cout<<"n"<<endl;

return 0;
}

[/codesyntax]
Read More...

De romano a Decimal

Leave a Comment
[slide_resp][sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghPzOgWdijmHFqZjwVwkCAYWnsdXIy7W1Nw8jM5Kq5r9g7p9SuycocCn9RXppK1U-PTLCIOwg3pRaRHJtJmKs1HqPnCpklzfwdlxFvDYmHQiruaR0z7dYXTQZuR8tf4sbtxDQXb8ABdC6Y/s640/de%2520Romano%2520a%2520Decimal%2520en%2520VBpng.png"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjF8KRWGpE1L7xFqTXKD097OaxvZfml-1Gyeb9qCSnZN49SQbud1DjNxEq7B1TEHFo1sMUePGzGKIKkP1rGdLnFtylv98rpXgX-QeteynExKbTwNL8-N1Wr8Q5xfA3TGWnxokAwjWuuWwk/s640/de%2520Romano%2520a%2520Decimal%2520en%2520C%2523.png"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXZATTSYI71VwT4d2-MOnhqcxLenB4HZ6RDMP-IPUERGeFnrio24XVQ6ADULriUlJruAJsa15w6lmMSXsgeGFnXgteJvCW3D-Kb2H2PufZC96aeXnVYzsW9KNcJLTwuwRcvaf0Nb0GHz5c/s640/de%2520Romano%2520a%2520Decimal%2520en%2520C%252B%252B.png"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhh259YuZwoDYV_lJMIdgbjefm2M2sWjq0KdIWwZKKnWJVIu4ar_gJ6hcaqz-_M8F-oPBayRru_joZDJ61dky-RF5u8VNnfQmxrblqYsK-Dk7hHm7mDYKK2Km1h9_uVHxQ4tKm_3MzTxY1M/s640/de%2520Romano%2520a%2520Decimal%2520en%2520C.png"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFmQFwEznEhJI73_bXkRH6eng_QThCGSSyc_Eojy_w_wGpwd5eLlNTRYRyVxGIl3eONbfhlFedriLGdMaQB9FxHfT2abe8zDauIqMrpxG7qSdE9rUMfU-E2_gzOKLCbVeUGXt5ss_EDyiR/s640/de%2520Romano%2520a%2520Decimal%2520en%2520Java.png"] [/sliderresp] [/slide_resp]

Este programa consiste en que dado un numero romano (escrito todo en mayuscula, como XIV), le devuelva el valor en el sistema decimal.

 

El programa fue testeado con los siguientes ejemplos:

VI = 6;    XXI = 21;    LXVII = 67

IV = 4;    IX = 9;    XL = 40;    XC = 90;    CD = 400;    CM = 900

XIII = 13;    XIV = 14;    XXXIII = 33;    XXXIV = 34

XIX = 19;    LIV = 54;    CXXIX = 129

 

Espero les sirva, y lo compartan con sus amigos :S

icn-C++

[codesyntax lang="cpp"]
#include<iostream>
using namespace std;
int saber(char n)
{
int nv=0;
switch(n)
{
case 'I':nv=1;break;
case 'V':nv=5;break;
case 'X':nv=10;break;
case 'L':nv=50;break;
case 'C':nv=100;break;
case 'D':nv=500;break;
case 'M':nv=1000;break;
};
//printf("%d,",nv);
return nv;
};

void convertir(char r[],int n)
{
int nume[n];
int s=0,sig=0,act;
//Paso XXIV a 10,10,1,5
for(int i=0;i<n;i++)
{
nume[i]=saber(r[i]);
}
if(n%2==0)
{
for(int i=0;i<n;i=i+2)
{
act=nume[i];
sig=nume[i+1];
if(act>=sig)
s=s+(act+sig);
else
s=s+(sig-act);
}
}else{
for(int i=n-1;i>0;i=i-2)
{
act=nume[i];
sig=nume[i-1];
if(act>sig)
s=s+(act-sig);
else
s=s+(sig+act);
}

act=nume[0];
s=s+act;
}

cout<<"El numero es : "<<s;
};

int main()
{
int lon;
cout<<"Cantidad Letras: ";
cin>>lon;
char romano[lon];
cout<<"Numero Romano: ";
cin>>romano;
convertir(romano,lon);
return 0;
}

[/codesyntax]

 

icn-VB

[codesyntax lang="vb"]
Module Module1

Sub Main()
Dim romano As String
Console.WriteLine("Numero Romano:")
romano = Console.ReadLine()
convertir(romano, romano.Length )
Console.ReadLine()

End Sub
Function saber(ByVal n As Char) As Integer
Dim nv As Integer
Select Case n
Case "I"
nv = 1
Case "V"
nv = 5
Case "X"
nv = 10
Case "L"
nv = 50
Case "C"
nv = 100
Case "D"
nv = 500
Case "M"
nv = 1000
Case Else
nv = 0
End Select
Return nv
End Function

Function convertir(ByVal r As String, ByVal n As Integer)
Dim nume(n) As Integer
Dim s, sig, act As Integer
s = sig = act = 0

For i = 0 To n - 1
nume(i) = saber(r.ElementAt(i))
Next
If (n Mod 2) = 0 Then
For i = 0 To n - 1 Step 2
act = nume(i)
sig = nume(i + 1)
If act >= sig Then
s = s + (act + sig)
Else
s = s + (sig - act)
End If

Next
Else
For i = (n - 1) To 1 Step -2
act = nume(i)
sig = nume(i - 1)
If act > sig Then
s = s + (act - sig)
Else
s = s + (sig + act)
End If
Next
act = nume(0)
s = s + act

End If
Console.WriteLine("El numero es: " & s)
End Function

End Module

[/codesyntax]

 

icn-Java

[codesyntax lang="java"]
	import java.util.Scanner;
/**
* @(#)deRomanoADecimal.java
*
*
* @author Jorge Moreno
* @version 1.00 2013/8/27
*/

public class deRomanoADecimal {

static int saber(char n)
{
int nv=0;

switch(n)
{
case 'I':nv=1;break;
case 'V':nv=5;break;
case 'X':nv=10;break;
case 'L':nv=50;break;
case 'C':nv=100;break;
case 'D':nv=500;break;
case 'M':nv=1000;break;
};
//printf("%d,",nv);
return nv;
};

static void convertir(String r,int n)
{
int nume[]=new int [n];
int s=0,sig=0,act;
//Paso XXIV a 10,10,1,5
for(int i=0;i<n;i++)
{
nume[i]=saber(r.charAt(i));
}
if(n%2==0)
{
for(int i=0;i<n;i=i+2)
{
act=nume[i];
sig=nume[i+1];
if(act>=sig)
s=s+(act+sig);
else
s=s+(sig-act);
}
}else{
for(int i=n-1;i>0;i=i-2)
{
act=nume[i];
sig=nume[i-1];
if(act>sig)
s=s+(act-sig);
else
s=s+(sig+act);
}

act=nume[0];
s=s+act;
}

System.out.println("El numero es : "+s);
};

/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
Scanner leer=new Scanner(System.in);
System.out.print("Numero Romano: ");
String romano=leer.next();
convertir(romano,romano.length());
// TODO code application logic here
}
}

[/codesyntax]

icn-C

[codesyntax lang="c"]
#include <stdio.h>
#include <conio.h>
int saber(char n)
{
int nv=0;
switch(n)
{
case 'I':nv=1;break;
case 'V':nv=5;break;
case 'X':nv=10;break;
case 'L':nv=50;break;
case 'C':nv=100;break;
case 'D':nv=500;break;
case 'M':nv=1000;break;
};
//printf("%d,",nv);
return nv;
};

void convertir(char r[],int n)
{
int nume[n];
int s=0,sig=0,act;
//Paso XXIV a 10,10,1,5
for(int i=0;i<n;i++)
{
nume[i]=saber(r[i]);
}
if(n%2==0)
{
for(int i=0;i<n;i=i+2)
{
act=nume[i];
sig=nume[i+1];
if(act>=sig)
s=s+(act+sig);
else
s=s+(sig-act);
}
}else{
for(int i=n-1;i>0;i=i-2)
{
act=nume[i];
sig=nume[i-1];
if(act>sig)
s=s+(act-sig);
else
s=s+(sig+act);
}

act=nume[0];
s=s+act;
}

printf("El numero es : %d",s);
};

main()
{
int n=1;
while(n!=0){
printf("nDigite el numero a de caracteres que tiene el numero romano,para salir 0:");
scanf("%d",&n);
char rom[n];
printf("Digite el numero Romano:");
scanf("%s",&rom);
convertir(rom,n);
};
printf("njamper91.hostei.com");
getch();
return 0;
}

[/codesyntax]

icn-C#

[codesyntax lang="csharp"]
    using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace deRomanoADecimalCS
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Numero Romano: ");
String romano = Console.ReadLine();
convertir(romano, romano.Length);
Console.ReadLine();
}
static int saber(char n)
{
int nv=0;
switch(n)
{
case 'I':nv=1;break;
case 'V':nv=5;break;
case 'X':nv=10;break;
case 'L':nv=50;break;
case 'C':nv=100;break;
case 'D':nv=500;break;
case 'M':nv=1000;break;
};
//printf("%d,",nv);
return nv;
}

static void convertir(String r,int n)
{
int []nume=new int[n];
int s=0,sig=0,act;
//Paso XXIV a 10,10,1,5
for(int i=0;i<n;i++)
{
nume[i]=saber(r.ElementAt(i));
}
if(n%2==0)
{
for(int i=0;i<n;i=i+2)
{
act=nume[i];
sig=nume[i+1];
if(act>=sig)
s=s+(act+sig);
else
s=s+(sig-act);
}
}else{
for(int i=n-1;i>0;i=i-2)
{
act=nume[i];
sig=nume[i-1];
if(act>sig)
s=s+(act-sig);
else
s=s+(sig+act);
}

act=nume[0];
s=s+act;
}

Console.WriteLine("El numero es : " +s);
}
}
}

[/codesyntax]
Read More...

Determinar si dos números son Primos

Leave a Comment
[slide_resp][sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt6vv5qjLZ4pYwFAQw1MLyepzYy_NhtC8V_j6VKjbcypKvgoVZdtW-VOO4AC4ZfVwnvo_ZmWwWvr_DrzOOaYVppJSA9AHrlBk9fmID3gls6eouJMnCotUKzPizhnA8KxgYyUZw-3c-9AER/s640/java.png"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQSSaRcny2povTmZe73UbFuoRtjhu_A5wFreapX0_J58yCVA8R0oxar5omp-r7XSqZMnugzew_vzaKdzQ8XxBVGpoHi8Ug3NsT1hFiYk3pxmSvADVHlAJMQeVilkxhXdYqj3S90p01hImN/s640/determinar%2520si%2520dos%2520numeros%2520son%2520primos%2520C%2523.png"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqeulucW8F0YSYBc_-SaUTJXF2ZmqhnXvFRKOMYA3mGUiYhlyq-ZC12yJ4SUsqcHQVogfJRstXY4P_FAk6AM8_I_LpSiHO3lGPp8rxOWx4muuZiiKS7hFnKtmlw2N0zuxU3l5tuvXZ3upB/s640/determinar%2520si%2520dos%2520numeros%2520son%2520primos%2520C%252B%252B.png"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKpCoKo1Snl5fW-9HbLXf8xnkYkTwdjBdkTtYQqITBIXHL32vWecnzcyTQou6CCrT53fPV-Nd4CXTpeRdS3gdnLEITiSvBER3jDlGtuXe4iek8xwgIctbfScC2xybhqFvZggdeLtaEKey5/s640/determinar%2520si%2520dos%2520numeros%2520son%2520primos%2520C.png"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQwU2ThyaVbemC8iKaIypiHvv3Hn741lPZnbf5CsVjitYmYCE9cKpWF-KurdZDdFbL6xIwK85vsfMYepoo9CBQ-IHUUcjLNl5xDVyvihXX-E5TrTTC145JjkFv06tJCvuWtkZazvLiKkjg/s640/determinar%2520si%2520dos%2520numeros%2520son%2520primos%2520VB.png"] [/sliderresp] [/slide_resp]

 

Este programa permite que se dijiten dos numeros por separados, y determinar si los dos (juntos) son un numero primo, ejemplo:

Digite numero: 1

Digite numero: 2

12

No es primo

icn-C

[codesyntax lang="c"]
#include<stdio.h>
#include<conio.h>
void portada();
void final();
bool esPrimo(int n)
{
for(int i=2;i<n;i++)
{
if(n%2==0)
return false;
}
return true;
}
main()
{
portada();
int num1,num2,num;
printf("Digite numero: ");
scanf("%d",&num1);
printf("Digite numero: ");
scanf("%d",&num2);
num=(num1*10)+num2;
if(esPrimo(num))
printf("Es primo!!n");
else
printf("No es primo!!n");
final();
getch();
return 0;
}

void portada(){
printf("...............................................................................an");
printf("................******.*****.** **.*****.****.*****.*****..**................an");
printf("................ ** .** **.*** ***.** **.** .** **.**.**.***................an");
printf("................ ** .*****.*******.*****.****.*****.*****..**................an");
printf("................ ** .** **.** * **.** .** .*** ....**..**................an");
printf("................**** .** **.** **.** .****.** **....**.****...............an");
printf("..............................jamper91.hostei.com............................an");
printf("n");
};
void final(){
printf("-------------------------------------------------------------------------------an");
printf ("******************************************************************************an");
printf (" Creado por jamper91@hotmail.comn");
printf (" Cucuta Campeonn");
printf ("******************************************************************************an");
printf("-------------------------------------------------------------------------------an");
};

[/codesyntax]

icn-C++

[codesyntax lang="cpp"]
/*
Que digite una serie de numeros y averiguar que si el anterior y el actual son primos, ejemplo:
digite numero: 4
digite numero: 7
47 es primo
digite numero:3
73 no es primo y asi

*/
#include<iostream>
using namespace std;
void portada();
void final();
bool esPrimo(int n)
{
for(int i=2;i<n;i++)
{
if(n%i==0)
return false;

}
return true;
}
int main()
{
portada();
int num1,num2,num;
cout<<"Digite numero: ";
cin>>num1;
cout<<"Digite numero: ";
cin>>num2;
num=(num1*10)+num2;
if(esPrimo(num))
cout<<"Es primo !!n";
else
cout<<"No es primo !!n";
final();
return 0;

}

void portada(){
cout<<("...............................................................................an");
cout<<("................******.*****.** **.*****.****.*****.*****..**................an");
cout<<("................ ** .** **.*** ***.** **.** .** **.**.**.***................an");
cout<<("................ ** .*****.*******.*****.****.*****.*****..**................an");
cout<<("................ ** .** **.** * **.** .** .*** ....**..**................an");
cout<<("................**** .** **.** **.** .****.** **....**.****...............an");
cout<<("...............................jamper91.hostei.com.............................an");
cout<<("n");
};
void final(){
cout<<("n-------------------------------------------------------------------------------an");
cout<< ("******************************************************************************an");
cout<< (" Creado por jamper91@hotmail.comn");
cout<< (" Cucuta Campeonn");
cout<< ("******************************************************************************an");
cout<<("-------------------------------------------------------------------------------an");
};

[/codesyntax]

icn-VB

[codesyntax lang="vb"]
Module Module1

Sub Main()
Dim num1, num2, num As Integer
Console.WriteLine("Digite numero:")
num1 = Integer.Parse(Console.ReadLine())
Console.WriteLine("Digite numero:")
num2 = Integer.Parse(Console.ReadLine())
num = (num1 * 10) + num2
If (esPrimo(num) = True) Then
Console.WriteLine("Es primo!!")
Else
Console.WriteLine("No es primo")

End If
Console.ReadLine()

End Sub

Function esPrimo(ByVal num As Integer) As Boolean
For i As Integer = 2 To num - 1 Step 1
Dim res As Integer
res = num Mod i
If (res = 0) Then
Return False
End If
Next
Return True

End Function

End Module

[/codesyntax]

icn-Java

[codesyntax lang="java"]
/**
* @(#)leerNumeros.java
*
*
* @author Jorge Moreno
* @version 1.00 2013/8/27
*/

/*
Que digite una serie de numeros y averiguar que si el anterior y el actual son primos, ejemplo:
digite numero: 4
digite numero: 7
47 es primo
digite numero:3
73 no es primo y asi
*/
import java.util.Scanner;
public class leerNumeros {

public leerNumeros() {
}
public static void main(String args[])
{
int num1,num2,num;
Scanner leer=new Scanner(System.in);
System.out.println("Digite numero:");
num1=leer.nextInt();
System.out.println("Digite numero:");
num2=leer.nextInt();
num=(num1*10)+num2;
if(esPrimo(num)==true)
System.out.println("Es primo!!");
else
System.out.println("No es primo!!");
}

public static boolean esPrimo(int n)
{
for (int i = 2; i<n; i++)
{
if(n%i==0)
return false;
}
return true;

}

}

[/codesyntax]

icn-C#

[codesyntax lang="csharp"]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Saber_si_dos_numeros_son_primos_CS
{
class Program
{
static void Main(string[] args)
{
portada();
int num1, num2, num;
Console.Write("Digite numero: ");
num1 = Int32.Parse(Console.ReadLine());
Console.Write("Digite numero: ");
num2 = Int32.Parse(Console.ReadLine());
num = (num1 * 10) + num2;
if (esPrimo(num))
Console.WriteLine("Es Primo!!");
else
Console.WriteLine("No es Primo!!");
final();
Console.ReadLine();
}
static bool esPrimo(int n)
{
for (int i = 2; i < n; i++)
{
if (n % i == 0)
return false;
}
return true;
}
static void portada()
{
Console.WriteLine("...............................................................................");
Console.WriteLine("................******.*****.** **.*****.****.*****.*****..**................");
Console.WriteLine("................ ** .** **.*** ***.** **.** .** **.**.**.***................");
Console.WriteLine("................ ** .*****.*******.*****.****.*****.*****..**................");
Console.WriteLine("................ ** .** **.** * **.** .** .*** ....**..**................");
Console.WriteLine("................**** .** **.** **.** .****.** **....**.****...............");
Console.WriteLine("...............................jamper91.hostei.com.............................");
Console.WriteLine("");
}
static void final()
{
Console.WriteLine("-------------------------------------------------------------------------------");
Console.WriteLine("******************************************************************************");
Console.WriteLine(" Creado por jamper91@hotmail.comn");
Console.WriteLine(" Cucuta Campeonn");
Console.WriteLine("******************************************************************************");
Console.WriteLine("-------------------------------------------------------------------------------");
}
}
}

[/codesyntax]

 
Read More...

lunes, 26 de agosto de 2013

Diseño web con Adobe Fireworks

Leave a Comment
[slide_resp][sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7gfFH8kRNqAM-PwkEDcHaKojZoWpcNXGrDUaRQbA_syPp32ivyLLiptfNV5RfbqiFKZf7o27RPmV0DMSIQdKtMvTq1F8ybL6hTDgiAF43hgfN1gK4bhcrqPan525TYoRj6FHFZ55bOhl_/s640/Captura%2520de%2520pantalla%2520completa%252026082013%2520114349%2520a.%2520m..jpg"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFrMqHq2zlj1uXBtxiFQz2cddqrdNw4P4k8ByQ3wYLz7ygkPjTrvWKr1WaymbNIQnEVf19rHAtf37_AyzSHMUb6B86OAHPBO-l-WKsk2MX2P5a2blfRuPOKQKNjEyp-GgphbvvWrsyemkU/s640/Captura%2520de%2520pantalla%2520completa%252026082013%2520114322%2520a.%2520m..jpg"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjlWmZBZqF8wDec99Xv9_RhDSCUe0gayYfr8BcecmK46tMgfrxZ6coHWauCAP8J348-3dIaQWqddoXNSEqLG0_fzV4tdpWIP344uCbgo5UoT-s6zY8PLqrXwr0h3qeStMWmrrrVoKdK8vi/s640/Captura%2520de%2520pantalla%2520completa%252026082013%2520114330%2520a.%2520m..jpg"] [/sliderresp] [/slide_resp]

 

Plantea y diseña un diseño web empleando Adobe Fireworks con este curso video2brain. Define la estructura, color, tipografía y empieza a crear cada uno de los elementos necesarios para un diseño equilibrado e interactivo, empleando las herramientas que Fireworks pone a tu disposición

Read More...

Desarrollo flash con API de Google

Leave a Comment
[slide_resp][sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggczQniYU3uxQ4NNQS5yt3BNRXSb3vcbDGgZKNKHDPvnCB6epsGjKL3ibjWXhjpjz7FQURxmPztCr8miA6RIpw2DnToIACOhP1M-tGwd-FSEpRWqHRugTrRGqnq7t5KXsaW7KU2ajCRBR3/s640/Captura%2520de%2520pantalla%2520completa%252026082013%2520104818%2520a.%2520m..jpg"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgc89Z3GUuOlkW9thAtj3di4oir7Ya4tzujMh_D56sSOrqUJnbLbvpFuvpQf4xgWLMjDkZgA_HaeZUhcb4xh27vLAs-lhlQUMIvacSWHwHE4CFCOZpWAOy7hhUw1tYvpA4vNVW4NZK921ou/s640/Captura%2520de%2520pantalla%2520completa%252026082013%2520104754%2520a.%2520m..jpg"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq_l1debJ43zCCMMsvsgbiQblSRrjVNataGz4gy2qsS3aKBUI381YN6J2a2nvNgSiXgF9qjPNBrlPMBCSrboecud3vBFaWrywrbcSPy_Ggb1o9yHMwcWTjh7ic0Lb6KC7Z4XlSn81twvJN/s640/Captura%2520de%2520pantalla%2520completa%252026082013%2520104808%2520a.%2520m..jpg"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggczQniYU3uxQ4NNQS5yt3BNRXSb3vcbDGgZKNKHDPvnCB6epsGjKL3ibjWXhjpjz7FQURxmPztCr8miA6RIpw2DnToIACOhP1M-tGwd-FSEpRWqHRugTrRGqnq7t5KXsaW7KU2ajCRBR3/s640/Captura%2520de%2520pantalla%2520completa%252026082013%2520104818%2520a.%2520m..jpg"] [/sliderresp] [/slide_resp]

 

Crea mapas de Google Maps dentro de tus proyectos Flash utilizando la API de Google Maps. Durante este workshop de video2brain aprenderás a configurar el entorno de trabajo y a crear mapas con contenidos interactivos utilizando Flash y ActionScript. Verás que no hace falta código extraño y que es muy simple conseguir añadir interactividad avanzada en tus proyectos con Google Maps y Adobe Flash.

Read More...

martes, 6 de agosto de 2013

Desarrollo de aplicaciones para iphone y objective c

Leave a Comment
Buenos días, el dia de hoy les traigo un video tutorial sobre como programar en Iphone.



Desde su salida en 2007 este dispositivo no ha dejado de sorprender y revolucionar el mundo de los dispositivos móviles. Si quieres conocer cómo empezar a crear aplicaciones para iPhone, qué pasos has de seguir desde la instalación de las aplicaciones necesarias, SDK y registro en la web de Apple para lograrlo, conocer el proceso para lograr publicar tus aplicaciones en la appStore, y sobre todo las herramientas y lenguajes con los que cuentas para lograrlo, este curso video2brain sentará unas buenas bases para que el inicio no sea tan duro.

Read More...

lunes, 5 de agosto de 2013

Crea tu propia app usando Dreamweaver y Adobe PhoneGap Build

Leave a Comment
[slide_resp][sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPZPXrwOgY7sELVAFRQCyTjhrruXZnHKqG_F8c3TJp3I9HpZgFOE35YFl9uXdp2JzQZrbxZtE2I5VjHAobvuGuKCaQNe0xnJpA0FYmKHpWZfDCD1Om6FkxaKxWIyQpmTSEnfWT6zsDnrLp/s640/video2brain%2520-%2520Mi%2520primera%2520app%2520para%2520Android_006.png"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj63v9kuq0pr9CDe1tNVntmosJ-M8HxtsACZf46iBigAfrbXyxUthxN52auJi3X5Jz5H-6707eP7FoyyMntyW5ZjegpBBmrCnU3UfhJgDyIvSRUo2c0rIEtEs3oLyBxL7BcTW5mX9YSmnfx/s640/video2brain%2520-%2520Mi%2520primera%2520app%2520para%2520Android_007.png"] [/sliderresp] [/slide_resp]

Convierte tus páginas web dinámicas y táctiles basadas en jQuery y hechas con Dreamweaver CS6 en prácticas apps compiladas y listas para dispositivos móviles Android.

Read More...

sábado, 3 de agosto de 2013

Curso de Android básico Video2brain

Leave a Comment
[slide_resp][sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjImRUmabyv3cjPFLvqPQDaaHptSAOyBs4hfTB0o5mrPH_a6uTZVv0FdaQJ0u7UFWlQDNGYH81ly7JmieppEvKKiqxXEgB_KQWyRKRF1S2389NUUIq5-8fQdKfo64vzIaLFTLqi3W4hS7-k/s640/Screenshot%2520from%25202013-08-03%252020%253A08%253A25.png"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje3ZbuOFQicX1rplVWSGh_HmJrvfmn5i6d2BSuyXzilxVYpcE_6poOAOrpmH92LDRwnb_P3wowRQhESHoEin2F54Rz8fOcjeZYou3GjoTz1LzsH2tQqQAB-26VZLbsC85t6UAMlZHwo4nn/s640/Screenshot%2520from%25202013-08-03%252020%253A08%253A11.png"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjImRUmabyv3cjPFLvqPQDaaHptSAOyBs4hfTB0o5mrPH_a6uTZVv0FdaQJ0u7UFWlQDNGYH81ly7JmieppEvKKiqxXEgB_KQWyRKRF1S2389NUUIq5-8fQdKfo64vzIaLFTLqi3W4hS7-k/s640/Screenshot%2520from%25202013-08-03%252020%253A08%253A25.png"] [/sliderresp] [/slide_resp]

Desarrollo para dispositivos móviles

Duración: 3 horas

Android es el sistema operativo de Google que ya varios fabricantes están usando para sus teléfonos de media gama y smartphones. ¿Te vas a quedar afuera de la posibilidad de generar aplicaciones y juegos para distribuir en estos teléfonos y tablets?

Read More...

Video tutoriales Android

Leave a Comment
El dia de hoy les traigo una serie de videos sobre android, estos videos son de una serie de tutoriales de video2brain.

Read More...

Uso de la camara con android

Leave a Comment
El dia de hoy les traigo una guía sobre como usar la cámara implementado la API de android, para esto trate de recurrir a la documentación oficial de Android (http://developer.android.com/guide/topics/media/camera.html) pero tuve ciertos problemas, por lo que acudí a la gran G, para buscar soluciones.

Este pequeño ejemplo lo que hace es utilizar la cámara para tomar la foto y luego nos muestra la ruta donde queda alojada en nuestro dispositivo.

Read More...

Ajax con Jquery

Leave a Comment
Hola, buenas tardes. El dia de hoy les traigo una guia para saber como manejar ajax con JQuery.

Pero antes de eso, muchos se preguntara, que es ajax? para que me sirve?.

Pues bueno, vamos a ver para que nos sirve:

Digamos que estas trabajando en un proyecto web cualquiera, y estas ante la siguiente situacion: debes mostrar una informacion nueva en la pagina basandote en una accion que hizo el usuario, pero sin tener que recargar la pagina. Un ejemplo de esto es que si el usuario da clic en algun elemento de la pagina web (puede ser un link, un boton , una imagen, etc) debes hacer una consulta a una base de datos y con esa consulta mostrar unos resultados.

Read More...

Aprender C en un 2x3

Leave a Comment

Buenas noche, el día de hoy les traigo otro manual, en este caso se trata del lenguaje C. Es un manual aun inconcluso, pero con varias cosas que les puede aclarar unas dudas, se explica el uso de variables, y como se leen estas en el lenguaje C.


Read More...

Aprender php en un 2x3

Leave a Comment
En este articulo les enlazare un manual que realice ya hace algún tiempo sobre el lenguaje de programación web php. En este encontraran la explicación de conceptos básicos como los son: funciones, variables, ciclos, etc. Ademas de las herramientas necesarias para poder realizar pruebas y unos ejemplos muy bien explicados sobre como utilizar php y una base de datos (en este caso mysql) para poder insertar, consultar y borrar datos de una base de datos.

Read More...

Como iniciar en Android

Leave a Comment

Buenas tardes, el día de hoy les vengo a traer una guía, sobre como iniciar en la programación con Android, esto esta mas enfocado hacia las personas que recien inician.


Es este capitulo de hoy, les traigo como instalar lo necesario para poder empezar a desarrollar nuestra primera aplicación en Android.


Read More...

Creacion de un servicion web con .net e IIS

Leave a Comment
Les traigo un tutorial sobre como se puede implementar un servicio web en windows con el servidor IIS y la tecnologia .net, ademas:

  • InstalaciónMicrosoft Visual Web Developer 2012

  • Entorno Desarrollo

  • Instalación de Microsoft Visual Web Developer 2010

  • Crear un servicio Web WCF en C #

  • Publicar el servicio web en el servidor IIS

  • Instalar Net 3.5 Service Pack 1

  • Errores

  • Ejecutar consola en modo administrador

  • Ejecutar el servidor IIS Express (IIS):


Read More...