Archivo de la categoría: Tip

Mostrar GeoLocalización – Google Maps API (JavaScript)

El título lo dice casi todo. La idea es mostrar la ubicación de la persona que abre un sitio web sobre el mapa de Google.

Hay que considerar lo siguiente:
– La dirección web debe ser https.
– La geolocalización puede ser apróximada dependiendo de la fuente utilizada (Dirección IP o GPS).
– El usuario debe autorizar a la aplicación (o sitio web) para que pueda utilizar la geolocalización.

Debes tener en cuenta que para este ejemplo debes activar una API KEY de Google Maps Javascript API.


<!DOCTYPE html>
<html>
<head>
<title>Geolocation</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<style>
#map {
height: 100%;
}
html, body {
height: 100%;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 6
});
var infoWindow = new google.maps.InfoWindow({map: map});

// HTML5 geolocation.
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = {
lat: position.coords.latitude,
lng: position.coords.longitude
};

infoWindow.setPosition(pos);
infoWindow.setContent('Estas Aqui!!!');
map.setCenter(pos);
}, function() {
handleLocationError(true, infoWindow, map.getCenter());
});
} else {
// Si el navegador no soporta Geolocation
handleLocationError(false, infoWindow, map.getCenter());
}
}

function handleLocationError(browserHasGeolocation, infoWindow, pos) {
infoWindow.setPosition(pos);
infoWindow.setContent(browserHasGeolocation ?
'Error: Servicio de Geolocation fallo.' :
'Error: Tu navegador no soporta geolocation.');
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=TU_API_KEY&callback=initMap">
</script>
</body>
</html>

Y este sería el resultado:

Cuando un JSON viene con error

Traté de muchas maneras poder utilizar un webservice que entregaba un JSON, pero no me daba ningún resultado.

Al principio pensé que estaba haciendo mal las cosas, utilizando Ajax, JQuery, etc. pero la verdad era que el servicio estaba entregando los datos con unos caracteres raros al principio.

Obviamente Google me ayudó y di con la función que te permite limpiar esos caracteres que no corresponden y que no nos permitirán leer de manera correcta un JSON.

<?php
$datos = file_get_contents("http://domino.com/Json");
// Remover carcateres que no queremos
// http://www.php.net/chr
for ($i = 0; $i <= 31; ++$i) {
$datos = str_replace(chr($i), "", $datos);
}
$datos = str_replace(chr(127), "", $datos);
// algunos archivos comienzan con 'efbbbf' para marcar el comienzo del archivo (nivel binario)
// aqui lo detectamos y removemos, basicamente los 3 primeros caracteres
if (0 === strpos(bin2hex($datos), 'efbbbf')) {
$datos = substr($datos, 3);
}
//Decodificamos el json y lo imprimimos
$datos = json_decode( $datos );
print_r($datos);
?>

Ahora a continuar con el desarrollo de una aplicación web (y posiblemente para smartphone) consumiendo estos datos interesantes.

UDID o UUID en iPhone

En estos días de aplicaciones híbridas en mi trabajo, tuve que aprender un montón de cosas, como por ejemplo que es el UDID o UUID de un iPhone.

El identificador único universal es un número de 32 dígitos hexadecimales, que como bien dice su nombre es único y sirve para identificar un iPhone, en mi caso particular, para que la distribución de una aplicación sea solamente a los equipos que yo necesite.

La manera más simple de obtener este número es a través de iTunes, conectando el equipo, luego en el menu del iPhone en Resumen está el número de serie, lo pinchas y se transforma en el famoso UDID.

InfoPath, Mayusculas <-> Minusculas

Uno de los problemas que me dió InfoPath en unos formularios que tenía aprobaciones de por medio, es que al hacer la comparación entre quien debía aprobar (buscando en Active Directory) y quien abría el formulario (utilizando la funcion userName() o nombreUsuario()), comparaba incluso las mayusculas y minusculas.

La solución más simple era transformar ambos o a mayusculas o a minusculas, así no tendría nunca el problema de meter manos al código del formulario para poder permitir estas aprobaciones.

La función que permite hacer eso es: Traducir() o Translate()

Como usarla?
Translate(string;”abcdefghijklmnopqrstuvwxyz”;”ABCDEFGHIJKLMNOPQRSTUVWXYZ”)

Simplemente el string lo puedes tomar de una función o de una variable.

 

Assassins Creed III Gratis

No tenia idea que Ubisoft lleva regalando juegos haces 6 meses atrás y me entero hoy cuando veo disponible Assassin’s Creed III.

No soy un gamer, ya que nací en una época donde el acceso a consolas de juegos era bastante difícil. Tampoco fui muy adicto a las salas de juego (Flippers), solo hasta más grande donde varias veces “di vueltaMK3 .

Ahora estoy descargando los 16GB de este gran juego y veremos si me atrevo a grabar un vídeo jugando en compañía de mis pequeños.

Aprovechen de descargarlo, si ya tienen una cuenta abran su UPlay sino, lo descargan y se crean una cuenta en tan solo unos minutos.

Instalando Cacti

Con esta guía encontrada en Tecmint.com podrán fácilmente instalar cacti, una aplicación de monitoreo para sus redes, con la cual podrán ver gráficamente el uso de recursos, tráfico de datos, etc.

Diseñada especialmente para Red Hat, CentOS y Fedora, siguiendo los pasos lograrán una instalación perfecta y en pocas horas ya tendrán sus primeros gráficos de monitoreo.

Accede aquí.

NetFlix ahora permite descargar contenido

Tal y como ha sido anunciado, NetFlix apuesta por permitir a sus usuarios la descarga de algunos contenidos de esta gran plataforma de películas y series.

Tan solo debes tener la última actualización instalada en tu dispositivo IOS o Android, obviamente tu conexión a Internet, IOS 8 o superior / Android 4.2.2 o superior.

Solo algunos títulos están disponibles para esta funcionalidad. En el menú podrás encontrar una sección llamada “Disponibles para descargar” donde se desplegarán todos los títulos que permiten ser descargados a tu dispositivo.

Bien por NetFlix, ya que así podremos descargar títulos y evitar usar nuestros datos móviles para entretener a nuestros hijos en aquellos interminables viajes en auto o avión.

 

Tip Linux: Instalar wget en CentOS

El otro día hice una instalación básica de CentOS para poder instalar Cacti. Entre los comandos que debía utilizar estaba el famoso wget, pero al correrlo me mostró un error que no encontraba el comando.

Para poder utilizarlo solo debemos tipear:

yum install wget

y listo! solucionado,  ya podemos utilizar wget en nuestro CentOS

Ahorra batería de tu iPhone

Con una simple acción puedes ahorrar bastante batería de tu iPhone, y simplemente es colocándolo boca abajo.

Desde el iPhone 5S, estos equipos vienen con un co-procesador que es el responsable de medir los movimientos (pasos por ejemplo), al colocarlo en esta posición, el equipo no utiliza ni el sensor de proximidad ni el de luminosidad, ayudando de esta manera a bajar el consumo de la batería, notoriamente.

Además, como no tendrás la pantalla a la vista, no estarás constantemente mirando si te llegó o no aquella notificación que esperas. Con esta simple acción el iPhone pasa a estar en sueño profundo.

Compatible con iPhone 5S, 6, 6 PLUS, 6S, 6S PLUS, SE, 7 y 7 PLUS.

Niactic refuerza la seguridad de PokemonGo

Lamentablemente para algunos, Niantic algo hizo con su seguridad, reforzando de cierta manera sus servidores y así evitar el uso de aplicaciones de terceros.

Una de las afectadas fue FastPokeMap y lo informan al ingresar en su sitio web. Lamentablemente ya no podemos escanear la zona en busca de esos raros Pokemon que nos faltan y debemos hacerlo a la vieja usanza (caminando).

Nos mantendremos chequeando su sitio web para saber cuando vuelven.

fastpokemap.se