Est-ce que vous me direz si cette solution fonctionnera ou non avant de consacrer beaucoup de temps à l'apprentissage/recherche de KML? (Il semble que j'ai besoin de l'apprendre à un moment donné, mais j'ai une date limite pour me rencontrer, d'abord.)Évolutivité KML? Utiliser KML pour afficher et filtrer plus de 1600 points dans Android?
Contexte - J'ai besoin de tracer 1662 points sur une carte qui se divise en 7 catégories. Je voudrais montrer tout, ainsi que filtrer/montrer seulement les catégories que l'utilisateur choisit.
Mon premier essai a utilisé l'API Google Maps. J'ai créé des GeoPoints, je les ai ajoutés à ItemizedOverlay, puis j'ai ajouté ItemizedOverlay à la carte. Cela fonctionne très bien pour quelques points. 100 points seulement ont pris 3 secondes. Au moment où j'ai atteint 400 points, les choses ont vraiment commencé à ralentir (environ 30 secondes). J'ai chargé tous les 1662, et cela a pris 15 minutes!
1) Pourquoi cela prend-il autant de temps? L'API appelle-t-elle Google Maps pour chaque point?
2) J'ai trouvé le KML comme une alternative possible. À quel point KML évolue-t-il? Sera-t-il capable de tracer et de charger plus de 1600 points? Si non, pouvez-vous recommander une autre solution?
3) Comment recommandez-vous de filtrer mes catégories? Actuellement, je prévois de charger chaque catégorie dans une couche. J'ai trouvé des références à cacher/montrer des calques, alors je vais essayer de faire ça. Est-ce une bonne approche?
4) Comment puis-je ajouter des boutons? Est-ce que je peux/devrais-je les ajouter à une superposition? Si non, est-il possible d'avoir la carte ouverte dans un MapView, puis de contrôler le filtre/show avec Android Buttons?
Je suis désolé si mes questions semblent simples. Je vais continuer à faire des recherches et à apprendre par moi-même. Cependant, je veux savoir si ma solution fonctionnera ou non avant de perdre une autre semaine dans une autre impasse.
Merci d'avance! :)
J'ai fini par restreindre mes points de données à un état à la fois. Cependant, j'accepte cette réponse, à cause de l'API utile. Merci. – user359519