¿Alguna vez has querido ser alguien más? No, no estamos ofreciendo un servicio de Being John Malkovich, sino que estamos ofreciendo a los desarrolladores de Maps API la apariencia y el comportamiento predeterminados de maps.google.com, todo con una simple llamada de funcionamiento.
Ahora, puedes obtener los elementos estándar de la UI que ves en Google Maps (inclusive el mapa más reciente estilo "3D" y los controles de zoom), junto con otros funcionamientos estándar como el manejo del teclado y del ratón, con sólo agregar una línea de código.
// Crea un mapa.
var map = new GMap2(myMapDiv);
// Dale la experiencia de maps.google.com.
map.setUIToDefault();
No sólo eso, esta función garantizará que si cambia la UI de maps.google.com, estos cambios también se reflejarán en tu sitio sin tener que actualizar nada.
La función ajustará automáticamente los controles que obtiene el mapa con base en el tamaño del mapa. Para mapas más grandes a 300 x 400, los controles predeterminados son:
Para mapas de 300 x 400 o más pequeños, los controles predeterminados son:
Ambos permitirán el acercamiento con la rueda de desplazamiento, el acercamiento con doble clic y agregarán un GKeyboardHandler al mapa.
También puedes ajustar la apariencia a tu gusto. Por ejemplo, si en su mayoría quieres el funcionamiento estándar, pero no quieres activar el acercamiento con la rueda de desplazamiento, puedes obtener una instancia del objeto GMapUIOptions predeterminado y ajustar los campos a tu gusto.
// Obtén el objeto GMapUIOptions predeterminado.
var uiOptions = map.getDefaultUI();
// Desactiva el acercamiento con la rueda de desplazamiento.
uiOptions.zoom.scrollwheel = false;
// Ahora establece la UI del mapa con las opciones ajustadas.
map.setUI(uiOptions);
Junto con este cambio, también puedes obtener acceso directo a los nuevos controles 3D utilizados en maps.google.com:
Una referencia completa de las funciones, la clase GMapUIOptions y todos los valores predeterminados se encuentran en la Referencia de Google Maps API. Como siempre, puedes ir al foro si tienes alguna pregunta.
Sentimos que no esté incluido el manipulador de John M, ¡pero ahora cuando menos tu sitio puede verse y actuar fácilmente como Google Maps!
Google abrió sus puertas a la comunidad de Palermo Valley, un movimiento sin fines de lucro que busca impulsar el desarrollo de la industria Web en la Argentina a través de eventos periódicos de discusión, divulgación e intercambio de ideas. El concepto de Palermo Valley se ha expandido rápidamente por América Latina y ya se realizan eventos similares en Chile, Perú, Uruguay, Costa Rica y México así como en las principales ciudades y polos tecnológicos de Argentina. Palermo Valley está fortaleciendo los vínculos entre las diferentes comunidades de Latinoamérica y se está convirtiendo en un punto de encuentro y canalización de oportunidades para la industria web de la región.
Con el lema “Hacia una Web más poderosa con un modelo de programación más fácil”, el encuentro contó con 35 CTOs y desarrolladores. El anfitrión fue Alejandro Villanueva, Developer Relations de Google, quien compartió las últimas novedades provenientes de la conferencia Google I/O en San Francisco y presentó la visión de Google acerca del futuro de los desarrolladores en Internet.
Con eje en la construcción de aplicaciones sobre el modelo de Cloud Computing, Alejandro presentó App Engine y Google Web ToolKit, para luego dar lugar a un intercambio entre los presentes sobre las principales ventajas y desafíos de estas tecnologías, tanto de Google como de otras compañías.
La presentación hizo énfasis en que “Google App Engine" te permite ejecutar aplicaciones Web sobre la infraestructura de Google. Las aplicaciones en App Engine son fáciles de crear, mantener y actualizar a medida que aumenta el tráfico y las necesidades de almacenamiento de datos. Además la utilización de esta plataforma es gratuita hasta un punto de tráfico muy alto y muy fácil de administrar y crear, tanto en Python como en el recientemente incorporado Java y los próximos lenguajes que se incorporen”.
Otro de los temas centrales de la presentación fue la capacidad de innovación proveniente de HTML5 que ya soportan la mayoría de los browsers open source y que son potenciados por la reducción de costos que permiten los desarrollos en la nube y la utilización de APIs ya existentes, lo que ahorra tiempo de desarrollo y mantenimiento de infraestructuras.
“Mediante todos estos desarrollos, Google busca construir una relación estrecha con los grupos que están llevando Internet al próximo nivel. Gente emprendedora, con sentimiento y talento de Latinoamérica, que permite alentar la innovación”, afirmó Villanueva.
La convocatoria permitió a Google además compartir con la comunidad de desarrolladores las innovaciones del Google Web Elements, un conjunto de widgets que permiten rápidamente publicar contenido de Google en sitios a través de asistentes que generan los fragmentos de código necesarios. Sólo hay que copiar y pegar y se pueden realizar con Google Calendar, Conversation, Google Custom Search, Google Maps, Google News, además de Presentaciones, hojas de calculo y YouTube News.
Finalmente el encuentro permitió presentar Google Wave, creado en open source con APIs que permiten desarrollar extensiones sobre esta plataforma para comunicarse con sistemas externos.
“Estamos muy entusiasmados con la oportunidad que nos da Google de acercarnos a conocer más de cerca sus propuestas para que nuestra comunidad pueda evaluar, utilizar y compartir estas innovaciones en la gran cantidad de proyectos 2.0 que se están gestando hoy en Argentina. Fueron muy positivos tanto el ambiente de sinergia que se dio entre los asistentes como las interesantes discusiones que se generaron, claro espejo de la creciente apertura cultural que se viene dando en esta industria”, concluyó Guido Durazzo, coordinador de Palermo Valley.
Alejandro Villanueva, Developer Technical Program Manager
Desarrollar un almacén de datos masivo y distribuido que pueda atender solicitudes con un rendimiento extremadamente alto es algo en lo que nos hemos enfocado en Google. Creamos algo llamado BigTable que subyace el almacén de datos en App Engine. El diseño para BigTable se enfocó en la escalabilidad a través de un sistema distribuido para que pueda funcionar un poco diferente a las bases de datos con las que has trabajado antes, como no soportar combinaciones. Esto no es un accidente, cuando se desarrolla un sistema que puede escalar al tamaño de BigTable no hay forma de hacer una combinación con un objetivo general en los conjuntos de datos de ese tamaño y que aún tengan alto rendimiento.
Google no es el único en ofrecer un almacén de datos no relacional para permitir el escalamiento. Por ejemplo, Amazon tiene SimpleDB: base de datos relacional agrupada tradicional requiere de un desembolso inicial de capital considerable, es complejo para diseñar y generalmente requiere de un administrador de bases de datos para darle mantenimiento y administrarla. Amazon SimpleDB es evidentemente más simple, no requiere de ningún esquema, indexa automáticamente sus datos y proporciona una API simple para su almacenamiento y acceso.
También tienes a tu disposición una gama de almacenes de datos no relacionales de código abierto, como CouchDB y Hypertable. Ésos sólo son dos ejemplos, aquí hay muchos más.
Aunque podrías pensar que todo esto es nuevo, realmente es un poco regresar al pasado. Como ves, hubo una época en la que el "RDBMS" no siempre era la respuesta independientemente de la pregunta que fuera. Cuando Codd publicó su estudio titulado "A Relational Model of Data for Large Shared Data Banks (Un modelo relacional de datos para grandes bancos de datos compartidos)", había muchos enfoques diferentes para los almacenes de datos. Fue tan sólo en los 80 que las bases de datos relacionales ganaron la mayor parte de la captación. Al haberse establecido en una sola metáfora, la industria ha desarrollado muchas herramientas y técnicas para facilitar el desarrollo de una base de datos relacional.
Desafortunadamente esa mayor parte de la captación también es un problema porque mientras los RDBMS son útiles en muchas situaciones, no lo son en todas las situaciones. Su dominio en la captación significa que no se usan las alternativas útiles y grandes cantidades de tiempo y dinero se pueden desperdiciar en tratar de forzar problemas no relacionales en un modelo relacional.
Nos encontramos en medio de un renacimiento en el almacenamiento de datos con la aplicación de muchas ideas y técnicas nuevas; existe un gran potencial para tener un pensamiento innovador acerca del almacenamiento de datos solamente de una forma. Michael Stonebraker señaló en su estudio, "One Size Fits All": An Idea Whose Time Has Come and Gone (Talla única: una idea cuya época ha ido y venido), que existen casos de uso comunes de almacenes de datos, como el almacenamiento de datos y el procesamiento por flujos que no funcionan bien para los RDBMS de objetivo general y que abandonar los RDBMS de objetivo general puedan brindarle un aumento de rendimiento en uno o dos tipos de magnitud.
Es un momento emocionante y lo más importante aquí no es abandonar la base de datos relacional, que es una tecnología muy madura que funciona excelente en su dominio, sino estar dispuestos a ver fuera de los RDBMS para buscar soluciones de almacenamiento.