Nativescript: crear ruta entre dos puntos con nativescript-google-maps-sdk.

Para hacer uso del mapa de google maps en nuestra aplicación móvil desarrollada en Nativescript podemos hacer uso del framework nativescript-google-maps-sdk.
Pero al momento de realizar un trazado entre dos puntos, no pude encontrar la manera de realizarlo con el plugin.

Bueno les detallo los pasos y las herramientas que use para realizarlo.

Plugins:

La configuración inicial del mapa lo podemos realizar con el ejemplo que nos da la página del plugin, la sección con Angular.

Primero importamos la librería de polyline-encoded, asignandolo a una variable, en nuestro caso le llamaremos polyUtil

var polyUtil = require('polyline-encoded');

Adicional, importamos algunos elementos necesarios de la librería de nativescript-google-maps-sdk

import { MapView, Position, Bounds, Marker, Polyline } from 'nativescript-google-maps-sdk';

Dentro de nuestra clase principal creamos las variables a utilizar en el mapa.


//Latitud y longitud inicial del mapa
latitude: number;
longitude: number;

// latitudes de origen y destino
lat_origen: number;
lng_origen: number;
lat_destino: number;
lng_destino: number;

private mapView: MapView;
public decodedPoly: any;
public routesPoly: any;

Dentro de la función ngOnInit() inicializamos nuestras variables.


ngOnInit() {
this.lat_origen = [latitud];
this.lng_destino = [longitud];
....
}

Creamos una función que será llamada cuando el mapa se haya cargado en la vista del usuario.


onMapReady = (event) => {
this.mapView = event.object;

this.getDirectionApi();
this.createMarkerOrigen(this.lat_origen, this.lng_origen);
this.createMarkerDestino(this.lat_destino, this.lng_destino);
};

A nuestra variable mapView le asignamos el objeto mapa, luego llamamos la función getDirectionApi() el cúal enviará nuestras latitudes de origen y destino al API de distancia de la librería de google maps.
Luego llamamos a la función createMarkerOrigen pasandole como parametros la latitud y longitud de origen.
Por último llamamos la función createMarkerDestino con las variables de destino, ambas funciones se encargan de crear los marcadores en los puntos indicados por las coordenadas.

Funciones para trazar la ruta.

Evitar cache del navegador en proyectos angular.

Al momento de desplegar nuestro proyecto angular en producción, nos encontraremos con que muchas veces el proyecto carga los datos de la memoria cache del navegador.
La solución nos lo brinda angular cli, con su comando –output-hashing.
Este comando define el modo hash en los nombres de archivos de salidas, para evitar que se recargue desde el navegador. Cada vez que se realiza un cambio, crea un nuevo hash.
Ejemplo:
ng build --prod --output-hashing

Call to undefined function utf8_decode() in

Si usas las funciones de PHP utf8_(en|de)code en versiones anteriores a 7.0 de PHP.

Solo debes instalar el paquete de php “php7.0-xml”.
Ejemplo en servidor Ubuntu 16.04:

sudo apt-get install php7.0-xml

luego solo reiniciar apache2:

service apache2 restart

Aquí encontre la respuesta:

stackoverflow

Agregar un virtual host en apache

Un virtual host en apache, es utilizado para redireccionar los subdominios, por asi decirlo a una carpeta especifica que contendrá los archivos de aquel subdominio.

A continuación detallo como agregar un subdominio a un servidor Ubuntu, mediante un virtualhost.

  1. Agregar un record DNS tipo A, en el administrador que tengamos del dominio, por ejemplo: godaddy, hostgator, etc. El cual apuntará a la IP de nuestro servidor.
  2. Creamos una carpeta nueva en nuestro servidor, especificamente www, ejemplo: www/dominio.com.
  3. Dentro de la carpeta dominio.com crear un archivo index.html con cualquier contenido, ya que solo se usara a modo de prueba.

 

Consulta dinamica usando ‘IN’, SLQ – PHP.

A continuación les muestro como realize una especie de consulta dinamica, en PHP.

que necesitaba?

Como en toda aplicación muchas veces requerimos extraer cierta información de la base de datos, que lo más probable, este relacionado a otra tabla.

Pero supongamos el caso en el que los datos provienen de otra fuente y necesitamos extraer los datos, que esten ralcionados a ellos.

En el siguiente código la variable $usuarios,  contiene los datos externos.

$usuarios = array();
$query_prom = "SELECT * FROM $DB_TABLE WHERE COL IN (";
foreach ($usuarios as $u){
    $con ++;
    if($con < $len_usuarios){
        $query_prom.= "$u,";
    }else{
        $query_prom.= "$u";
    }
}

$query_prom.=")";