2010-11-11 35 views
2

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! :)

Répondre

1

Je ne sais rien sur Android, mais je travaille sur un projet où je génère des sorties KML à partir d'une application Java. Je ne sais pas quel genre de contraintes que vous avez lorsque vous travaillez avec Android Java, mais si vous pouvez vous devriez essayer la bibliothèque open source suivante:

JAK - Java API for KML

Il fera la création KML assez facile. Je ne peux pas répondre à votre question sur l'évolutivité sur Android car je n'ai aucune expérience avec elle.

+0

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