Almacenamiento en caché de superposiciones al redondear rectángulos de coordenadas – ¿cómo?
Tengo un mapa con superposiciones que quiero poner en caché – en cada lugar que el usuario visitó en el mapa (que es un área de rectángulo) – compruebo si tengo una memoria caché de las superposiciones que residen en este rectángulo.
Con el fin de mejorar el almacenamiento en caché (por lo que si el usuario estaba previamente en el mismo rectángulo, excepto que ahora está a pocos metros del rectángulo anterior) – Quiero "redondear" las coordenadas.
- Cómo crear una superposición de información en Android
- Quiero agregar popover / overlay / hotspot en el streetview de google map en android
- Superposiciones de mapa más eficientes en Android
- Aplicación de una superposición (filtro de imagen) a un mapa de bits
- Superponer imagen para hacer tutorial en la aplicación para Android
De esta manera, cada vez que el usuario está en un rectángulo – comprobar si este rectángulo es similar a los rectángulos previamente en caché y si es así, traigo el resultado almacenado en caché.
Además, si el usuario se aleja y su rectángulo está contenido dentro de un rectángulo más grande (previamente almacenado en caché), también puedo usar el rectángulo en caché.
Alguna sugerencia ?
- Uso de ItemizedOverlay y OverlayItem en Android Beta 0.9
- Dibuja una ruta en los mapas siguiendo la ruta de movimiento de los dedos en la pantalla del dispositivo
- Teclado sobre EditText en segundo clic
- Problema de superposición de texto en ViewFlipper ..
- Cómo obtener el largo y lat valor de cuatro esquinas en el mapa en android?
- Alternativa de Android a MetroGridHelper
- ¿Cómo mostrar una ruta entre dos geocoords en google maps?
- Especifique Layout Margen superior para la barra de acción de superposición
Si sólo está viendo cómo agrupar las coordenadas, decida la máxima diferencia entre las coordenadas en xyy o latitud y longitud que desee. Entonces hay dos maneras que usted puede ir alrededor de agruparlas. La primera es más fácil, pero será lenta si tienes muchos puntos.
Digamos que tenemos una estructura de datos llamada cachedPoints, una distancia máxima entre puntos relacionados llamados maxdistance y un nuevo punto que estamos tratando de comprobar para ver si está cerca del otro punto llamado.
for each cachedPoint in cachedPoints { if (point.x - cachedPoint.x < maxdistance) { if (point.y - cachedPoint.y < maxdistance) { cachedPoint.incrementvisits(); } } }
La otra manera es usar una estructura de datos ordenada por x o latitud, y luego buscar para ver si hay un punto en caché con una x o una latitud dentro de maxdistance de punto, luego compruebe la y o longtitude. Sería un poco más rápido, pero se necesitaría algún tipo de hash para implementar y agrega un montón de complejidad que no necesitas.
Esperemos que eso es lo que estás pidiendo.
Si configura una estructura de datos como:
var a = { 'scales' : [50, 100, 200, 400, 1000], 'cachedRects': [{'location': 'rect-large-1234-5678.png', x: 1234, y: 5678, scale: 3} {'location': 'rect-small-1240-5685.png', x: 1240, y: 5685, scale: 1} ] }
Puede utilizar la función de módulo para hacer esto:
var currentx = GetCurrentX(); var currenty = GetCurrentY(); var currentScale = GetCurrentScale(); var rectFound = false; foreach(rect in a.cachedRects) { if (rect.scale === currentScale && currentx % a.scales[currentScale] === rect.x && currenty % a.scales[currentScale] === rect.y) { rectFound = true; useOverlay(rect); break; } } if(!rectFound) { //could loop again for a larger rectangle of a lower scale. }
Lo anterior puede o no resultar ser válido JS – No he intentado ejecutarlo. Espero que tengas la esencia, de todos modos.
Hey Usted puede agregar marcador en Google mapa v2 en android.
Aquí le doy código para añadir marcador
MarkerOptions mOpt = new MarkerOptions(); mOpt.position(new LatLng(userHstry.getMyLatlng().latitude, userHstry.getMyLatlng().longitude)); // map.clear(); mOpt.title("Address : " + userHstry.getAddress()).snippet("Date : " + userHstry.getDate() + " , Time : " + userHstry.getTime()); map.addMarker(mOpt);
- Cómo diferenciar entre la ruta de la tarjeta SD interna y externa en android
- ¿Cuál es la sintaxis adecuada para el atributo de fonema en el TTS XML de Android?