Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Es posible mostrar mapas en la aplicación QV sin necesidad de hacer uso de extensiones. Se puede trabajar directamente contra el API de Google Maps. A continuación detallo el escenario y los pasos a seguir para llevarlo a cabo. He incluido una aplicación con el ejemplo que espero que sirva de ayuda.
Escenario: Pintaremos puntos en el mapa en base a una serie de longitudes y latitudes. El tamaño del símbolo incrementará o decrementará en función del valor de un indicador. También se modifica el color del símbolo en base a su correlación con el resto de símbolos mostrados.
Pasos a seguir:
1.- Copiar el script necesario para que funcione el mapa.
//Es necesario modificar el separador decimal para trabajar correctamente con los mapas |
2.- Crear un nuevo Gráfico de Dispersión.
2.1. General: Seleccionar Gráfico de Dispersión.
2.2. Dimensiones: Seleccionamos la dimensión que queremos colocar en el mapa. En este caso, Ubicación.
2.3. Expresiones: El orden de las expresiones es representativo.
2.3.1. La primera expresión es la que indica la posición del eje x en la que se dibujará el símbolo.
Longitud =avg( round (256*pow(2,($(var_zoom)-1)))+( longitude *((256*pow(2,$(var_zoom)))/360)))
Hay que modificar la propiedad Color de Fondo de esta expresión. El objetivo es
Color de Fondo =colormix1((sum(importe) - v_min) / (v_max - v_min), argb(180, 255, 0, 0), argb(180, 0, 255, 0))
2.3.2. La segunda expresión es la que indica la posición del eje y en la que se dibujará el símbolo.
Latitud =avg(((256*pow(2,($(var_zoom)-1)))+((0.5*log((1+(sin((latitude)*pi()/180)))/(1-(sin((latitude)*pi()/180)))))*((-256*pow(2,$(var_zoom)))/(2*pi())))))
2.3.3. La tercera expresión es la que indica el tamaño del símbolo.
Ventas =sum(importe)
2.3.4. Ponemos una cuarta expresión porque queremos que al colocar el ratón sobre uno de los símbolos se nos muestre el valor de las ventas en un popup.
Popup_Ventas = ubicacion & Chr(10) & 'Ventas = ' & sum(importe)
2.4. Presentación: Eliminar Etiquetas Emergentes (no queremos ver los datos de Longitud y Latitud en el popup).
2.5. Ejes:
2.5.1. Eje x: Eliminar Forzar a 0 y seleccionar Ocultar eje.
2.5.2. Escala x Min Estático=((256*pow(2,($(var_zoom)-1)))+( var_mid_long *((256*pow(2,$(var_zoom)))/360)) -round(map_size_x/2))
2.5.3. Escala x Max Estático=((256*pow(2,($(var_zoom)-1)))+( var_mid_long *((256*pow(2,$(var_zoom)))/360)) + round(map_size_x/2))
2.5.4. Eje y: Eliminar Forzar a 0 y seleccionar Ocultar eje.
2.5.5. Escala y Min Estático=((256*pow(2,($(var_zoom)-1)))+((0.5*log((1+(sin(var_mid_lat*pi()/180)))/(1-(sin(var_mid_lat*pi()/180)))))*((-256*pow(2,$(var_zoom)))/(2*pi())))+round(map_size_y/2))
2.5.6. Escala y Max Estático =((256*pow(2,($(var_zoom)-1)))+((0.5*log((1+(sin(var_mid_lat*pi()/180)))/(1-(sin(var_mid_lat*pi()/180)))))*((-256*pow(2,$(var_zoom)))/(2*pi())))-round(map_size_y/2))
2.6. Colores: Imagen dinámica
='http://maps.google.com/maps/api/staticmap?center='
&
num(var_mid_lat, '##############', '.', ',' )
&
','
&
num(var_mid_long, '##############', '.', ',' )
&
'&zoom=$(var_zoom)'
&
'&maptype='&var_maptype
&
'&size='&map_size_x&'x'&map_size_y
&
'&key='& 'AIzaSyAABZIVacmXaH_m5XNM2PzcJo3uDr12Rzk'
&
'&sensor=false'