Más

La información sobre herramientas de CartoDB no aparece cuando el valor de zoom no es un número entero

La información sobre herramientas de CartoDB no aparece cuando el valor de zoom no es un número entero


Construyendo un mapa CartoDB personalizado aquí usando el proceso createLayer. Con la gran diferencia en la apariencia visual y la escala entre los niveles de zoom de 4 y 5, mi objetivo es establecer un nivel de zoom predeterminado de 4.5. Esto funciona perfectamente bien en lo que respecta a la vista del mapa. Sin embargo, cuando estoy en este nivel de zoom, no aparece ninguna información sobre herramientas. Funcionan en cualquier otro nivel de zoom entero.

var options = {center: [13, -2], zoom: 4.5, minZoom: 4.5, maxZoom: 7} var layerSource = {user_name: '[username]', type: 'cartodb', sublayers: [{sql: " SELECCIONAR * FROM ptv_ad_views_by_dma_2015q4 ", cartocss: generateCSS (" ads_0600 "), interactividad:" cartodb_id, dma_name, ads_0600 "}, {sql:" SELECT * FROM ptv_ad_views_by_dma_2015q4 ", cartocss" interactividad ", generar_CSidS00 dma_name, ads_0700 "},… (una docena de otras subcapas)} var map_object = new L.Map (" mapa ", opciones); var num_sublayers, map_layer; cartodb.createLayer (map_object, layerSource) .addTo (map_object) .done (function (layer) {num_sublayers = layer.getSubLayerCount (); map_layer = layer; var sublayer; for (var i = 0; i 

Tenga en cuenta que, por alguna razón, la línea de adición estándar que he visto en los documentos de soporte no funciona y no es necesaria para mi mapa, en caso de que se pregunte por qué no la tengo allí:

$ ('# mapa'). append (testTooltip.render (). el);

¿Alguna idea de por qué esta información sobre herramientas no se muestra en niveles de zoom que no son enteros?


CartoDB no ofrece mosaicos en niveles de zoom fraccionados. Jugar con los mosaicos para obtener un mapa con un nivel de zoom de 3.5 es fácil, ya que puede obtener los mosaicos del nivel de zoom superior y cambiar su escala en el navegador.

La información sobre herramientas de CartoDB funciona gracias a la interactividad proporcionada por la capa UTFGrid. Esta capa mapea cada píxel de cada mosaico y le proporciona un significado interactivo (un píxel se representa con un carácter, que está relacionado con una clave de la que se recuperan los datos de ese píxel).

Esta capa, como capas de mosaicos, se crea y sirve para cada nivel (entero) de zoom, y CartoDB no genera una capa UTFgrid para el nivel 3.5. Personalmente, no sé cómo funcionan estas bibliotecas para obtener niveles de zoom fraccionados, pero CartoDB no administra las capas de interactividad en esos niveles intermedios.


Ver el vídeo: HTML5 - Geolocation + Google Map - Trazar ruta entre Markers