FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
|||
|
|||
Gmlib Gmmarker
Buenas tardes a todos y desde ya muchas gracias por tomarse el tiempo de tratar de solucionar mi inquietud.
Paso a comentar mi problema, estoy utilizando GMLIB en RAD Studio XE7, el componente funciona perfecto, pero tengo un problema cuando aplico el procedimiento CLEAR en el GMMarker, lo que pasa es que el procedimiento limpia todos los marcadores que genere anteriormente, pero no borra la cola es decir cuando genero el primer marcador el ID de la cola es el 0 (cero) y el siguiente es el 1, hasta el momento todo perfecto, cuando aplico el CLEAR, dejo de visualizar esos marcadores en el mapa, pero el siguiente marcador que genero tiene como ID 2 y no 0 (cero), y creo que el problema es que esos marcadores no se visualizan pero siguen estando en la cola y guardan el nombre que se puso al marcador. Me gustaría saber si tengo alguna manera de borrar la cola que genera el GMMarker o si hay alguna manera de resetear esa cola. AYUDDAAAAA!!!!!!! Muchas gracias |
#2
|
||||
|
||||
Cita:
Si haces un Count verás que la lista tiene 0 elementos. Cita:
Según lo que estés haciendo y para qué estés utilizando ese valor, puede usar de forma alternativa GMMarker.Count. Otra opción es Marker.ZIndex, que parece que si que se comporta como deseas, de todas formas habrá que ver qué pasa con esta propiedad cuando borres elementos existentes, crees elementos nuevos,... Una última opción para que el ID se comporte como deseas (aunque no la veo la más adecuada) es liberar la lista (GMMarker) y volver a crearla. De esa forma, el ID si se reinicia a cero.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Buen día Neftali, muchas gracias por tu respuesta y tu tiempo.
Paso a comentar el problema pero ahora te muestro el código para que veas lo que estoy haciendo y asi entiendas mejor el por que de mi pregunta.
Cuando hago el clear y vuelvo a generar los puntos funciona perfecto ahora cuando le quiero hacer click en uno de los puntos me da el siguiente error (Argument out of range) y la verdad es que no entiendo por que. Desde ya muchas gracias por la ayuda y espero que se entienda el problema o que puedas ver que es lo que estoy haciendo mal. la verdad es que soy nuevo con GMlib pero lo necesito urgente para el trabajo. |
#4
|
|||
|
|||
Cita:
|
#5
|
||||
|
||||
El problema es que estás utilizando el ID como índice para realizar la búsqueda en la lista, y tal como te he comnentado esa condición no siempre es cierta (por ejemplo, cuando has hecho un Clear).
Implementa una busqueda por título (recorriendo la lista de Marcas); A no ser que tengas una gran cantidad de marcas, recorrer la lista secuencialmente debe ser inmediato. Si tuvieras miuchísimas, siempre puedes hacer una estructura paraleta que te mantenga ID/Indice.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#6
|
|||
|
|||
Cita:
La única manera que tengo de saber a que marcador se refiere es con linkedcomponent.id eso me da el valor del id del marcador y en base a ese id pregunto cual es el titulo con esto GMMark2.items[linkedcomponent.id].title ahora el linkedcomponent.id me da el valor correcto del marcador pero GMMark2.items[linkedcomponent.id].title no me da el title de ese marcador. Este error solo se genera después de aplicar el clear, en la primera carga si me devuelve el title y puedo realizar la busqueda en la DB, nose por que en la segunda carga después de aplicar el clear GMMark2.items[linkedcomponent.id].title me devuelve un resultado vació y ahí se genera el argument out of rage. linkedcomponent.id si trae el id correcto del marcador en todo momento, pero cuando consulto por el title de ese marcador me lo trae vacio perdon si soy repetitivo es que nose como explicar mejor lo que me esta sucediendo Muchas gracias |
|
|
|