Lorsqu'un utilisateur déplace la carte Google, je souhaite afficher automatiquement les éléments dans la zone de visualisation de l'utilisateur. Comment puis-je afficher rapidement et efficacement les articles? J'ai une compréhension de base de l'appel de la méthode getBounds() chaque fois que l'utilisateur déplace la carte, mais je ne suis pas sûr de la façon dont je peux efficacement chercher et obtenir dans ma base de données les éléments du courant. viewport. Y at-il moyen plus facile et plus rapide de le faire?Comment afficher efficacement des éléments sur la carte Google dans la plage de visualisation de l'utilisateur?
Répondre
En plus de Geek's answer, vous pouvez également envisager de créer un index sur un Geohash à la place. Vous pouvez également utiliser une base de données avec des fonctionnalités spatial indexing. MySQL, PostgreSQL et SQL Server 2008 ont tous des caractéristiques géo-spatiales (natives ou via des extensions), qui incluent l'indexation spatiale.
J'ai eu le même problème. La façon dont j'ai essayé d'atténuer le problème est la suivante.
- magasin la latitude/longitude dans la base de données décimales
- index de vente sur les longues colonnes et lat
- utiliser une requête comme
SELECT * FROM table WHERE long > $long_left AND long < $long_right AND lat > $lat_bottom AND lat < $lat_top
Je vous suggère d'utiliser également MarkerManager
pour gérer la marqueurs si vous attendez un grand nombre de marqueurs car vous pouvez définir les marqueurs pour qu'ils s'affichent uniquement à certains niveaux de zoom.
stocker la latitude/longitude en décimales permet de la base de données comparer les valeurs correctement au lieu d'avoir à convertir les valeurs avant de les comparer
index sont des éléments clés des bases de données (ha jeu de mots :-)) les utiliser correctement, mais n » t surutiliser les
- 1. google maps: mettre des marqueurs partout dans la section visible sur l'affichage de la carte Google
- 2. Afficher la fenêtre d'information d'un marqueur de carte Google
- 3. Afficher l'image sur la couche de la carte dans GeoServer
- 4. Espacement de visualisation Google
- 5. Comment effacer les n derniers éléments de la carte C++?
- 6. Afficher la popup au-dessus de la carte dans MapView
- 7. afficher plusieurs marqueurs GoogleMap sur la carte
- 8. Comment puis-je afficher ce polygone sur une carte Google?
- 9. comment valider des éléments de carte dynamique
- 10. google collections commander sur les valeurs de la carte
- 11. MyAnnotation afficher plusieurs lignes de texte sur la carte iphone google
- 12. API de visualisation Google .net?
- 13. Android: Comment afficher une carte google dans une application Android?
- 14. Comment afficher un petit élément cliquable sur la carte Android
- 15. Comment regrouper des éléments par plage de dates dans XSLT?
- 16. Pour afficher le titre de la carte actuelle dans la carte dans l'iphone
- 17. Python « carte ou » sur les éléments dans la liste
- 18. Utilisation de jQuery et de Rails pour afficher des données sur une carte Google
- 19. Android: déplacer le point sur la carte Google lorsque vous cliquez quelque part sur la carte
- 20. comment redessiner des marqueurs sans redessiner la carte? google maps
- 21. Comment afficher la première Visualisation visible depuis une liste AndroidView
- 22. Existe-t-il un moyen de créer des coordonnées de magasin Google dans la carte android?
- 23. Comment fonctionne la carte Google au centre-ville de Wilderness?
- 24. Comment modifier la couleur des bordures de la carte dans l'API Google Chart?
- 25. Graphique Candlestck et OHLC dans la chronologie annotée, Visualisation Google
- 26. Comment faire pour afficher la liste des éléments dans Android?
- 27. comment stocker des pointeurs sur la carte
- 28. Comment utiliser rangechange() sur la ligne de temps annotée Google pour obtenir uniquement des données pour la plage sélectionnée?
- 29. Calcul de la fenêtre d'affichage de la carte Google?
- 30. Dessin sur la carte
Les capacités d'indexation spatiale semblent intéressantes, aucune idée de combien la performance est améliorée en utilisant ce type d'indexation? – Cory
@Cory: Cela dépend du nombre d'objets que vous aurez sur la carte. Si vous n'avez qu'une centaine de points, je ne pense pas que cela aura beaucoup d'importance. Vous pouvez toujours utiliser un index sur les champs de latitude et de longitude comme suggéré par Geek dans l'autre réponse, réduire le temps de recherche et éviter un balayage de table complet. Si d'un autre côté vous aurez des milliers ou des millions de points, ou si vous allez aussi afficher des sentiers, des lignes et des polygones, alors les index spatiaux pourraient devenir utiles. –