Ich benutze Bing Maps mit Ajax und ich habe ungefähr 80.000 Stellen, um Pushpins hineinzulassen. Der Zweck dieser Funktion ist es, einem Benutzer zu ermöglichen, nach Restaurants in Louisiana zu suchen und auf den Reißzwecke zu klicken, um die Gesundheitsinspektionsinformationen zu sehen.Umgang mit einer großen Anzahl von Pins in Bing Maps
Offensichtlich ist es nicht gut, 80.000 Pins gleichzeitig auf der Karte zu haben, aber ich habe Mühe, die beste Lösung für dieses Problem zu finden. Ein weiteres Problem ist, dass die Entfernung zwischen diesen Orten sehr klein ist (alle 80.000 sind in Louisiana). Ich weiß, dass ich Clustering verwenden könnte, um die Karte nicht zu überladen, aber es scheint, als würde das immer noch Leistungsprobleme verursachen.
Was ich gerade versuche ist, einfach keine Pins bis zu einer bestimmten Zoomstufe anzuzeigen und dann nur die Pins in der aktuellen Ansicht zu zeigen. Das versuche ich derzeit, indem ich das Ereignis viewchangeend verwende, um die Zoomstufe und die Grenzen der Karte zu finden und dann die Datenbank (über einen Webservice) nach Punkten in diesem Bereich abzufragen.
Es fühlt sich an, als ob ich in die falsche Richtung gehe. Gibt es eine bessere Möglichkeit, diese große Datenmenge zu verwalten? Wäre es besser zu versuchen, zuerst alle Punkte zu laden und dann die Daten zur Hand zu haben, ohne jedes Mal, wenn sich die Karte bewegt, meinen Web-Dienst zu treffen. Wenn ja, wie würde ich darüber gehen?
Ich konnte keine Antworten auf meine Fragen finden, was normalerweise bedeutet, dass ich die falschen Fragen stelle. Wenn jemand mir helfen könnte, die richtige Frage herauszufinden, würde es sehr geschätzt werden.
Wenn Sie versuchen, so viele Datenpunkte zu visualisieren, sind vielleicht die Push-Pins nicht der beste Weg, dies zu tun. Hast du darüber nachgedacht, stattdessen eine Heatmap zu verwenden? –
Danke für den Kommentar! Ich hatte nicht darüber nachgedacht, aber nach dem Auschecken glaube ich nicht, dass es für mein Szenario funktionieren wird, da Benutzer in der Lage sein müssen, einen individuellen Standort auszuwählen und auf eine Infoseite für diesen Standort gebracht zu werden. Ich werde meine Frage bearbeiten, um das deutlicher zu machen. – Justin