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.

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 ?

3 Solutions collect form web for “Almacenamiento en caché de superposiciones al redondear rectángulos de coordenadas – ¿cómo?”

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); 
  • Animación superpuesta a una actividad de la cámara
  • Primera vista arriba / superpuesta en LinearLayout
  • Android cómo dibujar la pintura en mano libre en MapView con superposición?
  • Android: ItemizedOverlay onTouchEvent y onTap se superponen
  • Especifique Layout Margen superior para la barra de acción de superposición
  • Dibujar superposición en Android (en todo el sistema)
  • Información sobre Android sobre superposiciones flotantes / elementos sobre otras aplicaciones
  • Color de relieve de superposición de círculo no dibujado siempre en Google Maps v2
  • Widget flotante / superposición en el lanzador de Android
  • ICS teclado de vuelta, los botones de inicio no tomar contacto cuando se abre en la superposición
  • ¿Cómo crear una superposición que bloquea los eventos de toque a la interfaz de usuario debajo de él?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.