I don't think a lot of experimentation is required, I would implement it as such:
g = [view port width / cell size][view port height / cell size] For each point, p: px <- convert p to view port PX px <- floor(px / cell size) if px in g is valid and g[px.x][px.y] not defined: g[px.x][px.y] <- p for each cell in g, if defined: render g[x][y] as marker I'd run this on zoom end, and move end (after pan completes, or after mouse button released) The only configuration is the cell size, where 1 would mean there would be at most 1 marker for a given pixel, and the values increase from there. A higher value would mean better preformance, a lower would have a higher density of points. - Chris alts...@yahoo.com wrote: > I think the proper solution would be to limit number of markers depending on > zoom level and visible map region. If you're at high zoom level and markers > are too close to each other, they will overlap and you do not really see > anything. Solution is to render not all markers but skip markers if distance > between them is too close (probably distance should be determined by > experimenting). When user zooms in, app should communicate with server and > request more markers for visible region. > > opengts tracking system has the very same problem. I was going to implement > something like I explained above myself but it's quite low on my priority > list. But if you have the solution, I'd like to use it ;) > > Serg > > > > ----- Original Message ---- > >> From: willson <talentp1...@yahoo.com.cn> >> To: users@openlayers.org >> Sent: Tuesday, April 14, 2009 12:26:40 PM >> Subject: Re: [OpenLayers-Users] How to add many(>400) markers to the map? >> >> >> >> >> Hi, >> if you were using Geoserver and wms, dynamic symbolizer could help you. >> Check the following out: >> >> http://blog.geoserver.org/2008/12/08/dynamic-symbolizers-part-1/ >> >> - mika - >> >> >> willson kirjoitti: >> >>> Hi, >>> try to search mailing list for strategies, performance. I have the same >>> >> problem not solved yet. It looks I will have to render at server site. >> >>> Michal >>> >>> >>> Hi everyone, this is the first post on this forum. I have search the >>> problem >>> >> on the forum, but find no anwser. >> >>> What I need to solve is: I have more than 400 points need to show on the >>> map, >>> >> these points query my db every 10 secs, and change their color according to >> the >> return value. >> >>> I use the openlayers.layer.marker to implement, but in ie the markers make >>> the >>> >> map so slow when zooming. >> >>> Then I move to openlayers.layer.vector, but it's even slower than marker. >>> Any suggestion in such "Adding large and dynamically changed markers" >>> >> situation? >> >>> >>> >>> hi, render in serverside(may be wms) can improve the performance much, but >>> how >>> >> to make markers dynamically change color? Any solution? >> >>> >>> >> _______________________________________________ >> Users mailing list >> Users@openlayers.org >> http://openlayers.org/mailman/listinfo/users >> >> >> >> hi, >> Yes, I am using geoserver and wms. I have look at the link, but it may be >> not >> the answer. Since the data in my db change frequently, and the marker need >> to >> reflect these changes. For example , I have a table, and a column named >> "kpi", >> when kpi<0.01, the marker's color is green, else is red. It may be not an >> "sld" >> issue. >> >> -- >> View this message in context: >> http://n2.nabble.com/How-to-add-many%28%3E400%29-markers-to-the-map--tp2631715p2632376.html >> Sent from the OpenLayers Users mailing list archive at Nabble.com. >> >> _______________________________________________ >> Users mailing list >> Users@openlayers.org >> http://openlayers.org/mailman/listinfo/users >> > > > > > _______________________________________________ > Users mailing list > Users@openlayers.org > http://openlayers.org/mailman/listinfo/users > > > _______________________________________________ Users mailing list Users@openlayers.org http://openlayers.org/mailman/listinfo/users