Provo a ottenere i 10 marker più vicini dal centro della mappa di google e li ordina in base al centro per distanza in Javascript. Quindi diciamo che ho 100 Marker in un array Javascript - mi piacerebbe mostrare più informazioni sui 10 closest in una lista non ordinata in html. Ho trovato un esempio simile per api versione 2 (example in version 2), ma nulla per la versione 3 di google map api.Google Map ottiene 10 punti più vicini di tutti gli indicatori su una mappa
risposta
Qualunque cosa sia, è necessario calcolare tutte le distanze. Puoi farlo da solo con semplici equazioni o utilizzare la libreria geometrica di Google: http://code.google.com/intl/pl-PL/apis/maps/documentation/javascript/geometry.html e la sua funzione: computeDistanceBetween(). Quindi memorizza la distanza nella proprietà dell'indicatore personalizzato come ad esempio:
marker.distance = google.maps.geometry.spherical.computeDistanceBetween(marker.position, center.position);
e ordinarlo comunque. Spero che aiuti.
- Ordina la matrice in base alla vicinanza al punto centrale della mappa. Utilizzare
sort()
. - Affettare il primo 10 con
slice()
. - Tracciare questi sulla mappa.
Grazie, ho usato la funzione dalle prime risposte con la tua soluzione! –
Per questo tipo di operazioni normalmente utilizzo la libreria [underscore] (http://underscore.org). Ha molti aiutanti per questo tipo di operazioni. Nel mio caso, ho usato '_.each' e' _.sort' sul mio array di marcatori. – bzin
- 1. Android Zoom su misura Tutti gli indicatori su Google Map v2
- 2. Posizionamento di indicatori su Google Map con Django
- 3. Google Map API v3: Centro & Zoom su indicatori visualizzati
- 4. Trova tutti i vicini più vicini entro una distanza specifica
- 5. Indicatori personalizzati mappa Google Risoluzione retina
- 6. L'oggetto non ha metodo 'getPosition' quando si raggruppano gli indicatori di mappa di Google (api v3)
- 7. URL per più indicatori in Google Maps
- 8. Punti più vicini di due poligoni
- 9. posizionando più marker su google map dall'array
- 10. API MAP di Google v3: collegamento di indicatori a un elenco esterno
- 11. Google Map V2 come impostare ZoomToSpan?
- 12. Caricamento marcatori 100-200K su google map
- 13. creare InfoWindow per gli indicatori cluster utilizzando Google Maps v3
- 14. PostGis vicini più vicini query
- 15. Indicatori animati su Google Maps v2
- 16. Google Maps v3 - Indicatori non visualizzati
- 17. Eliminazione di più indicatori di Google Maps senza ridipingere sulla mappa
- 18. Imposta un indicatore su tutti gli altri indicatori nell'SDK di Google Maps iOS
- 19. Visualizzazione di più percorsi su una mappa di google
- 20. Riutilizzare Google Map v2 su più frammenti in singola attività
- 21. Google Map Route Draw su IPhone
- 22. Indicatori sulla mappa reattiva
- 23. API MAP Google: come tracciare il percorso aereo più breve tra due punti geografici?
- 24. AngularJS istanza mappa direttiva Google Map
- 25. Finestra di tocco personalizzata su Google Map
- 26. Trova i vicini più vicini - OpenCV
- 27. Come ottenere tutti gli indicatori visibili sul corrente livello di zoom
- 28. Disegnare testo su Google Map non è più possibile?
- 29. Trova in modo efficiente gli indici dei punti più vicini sulla griglia 2D non rettangolare
- 30. Tracciare percorsi tra più punti sulla mappa
questo è esattamente il modo in cui lo farei. Per scale più piccole potresti probabilmente usare l'espressione di Pitagora planare per la distanza (differenza quadratica in latitudine + differenza quadratica in longitudine), non è così esatta ma potrebbe essere molto più veloce. – TMS
Grazie, funziona perfettamente! –