Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

performance difference between openlayers, decarta and google maps

We have recently been transitioning our company mapping system from Google map, first to deCarta and then to OpenLayers. We have found that OpenLayers and deCarta are remarkably slower than Google Maps when many elements (several thousand) are added to the map (pins with bubbles on click). Google has the Marker Manager which appears to make it faster, but what I can't figure out is how this cuts down the memory usage or whatever to make it perform so much better. It's driving me nuts because we do the same thing with both OL and deCarta as we do with Google and the others are so slow. Does anyone have any experience in working with these systems?

I know that Google is the massive giant of mapping technology and therefore has put enormous amounts of money into the system, so it's not surprising that it's faster. I just want to know HOW if at all possible.

Thanks!

like image 751
Andrew Christensen Avatar asked Mar 04 '11 14:03

Andrew Christensen


People also ask

Can I use Google Maps with Openlayers?

Unlike Bing Google does not allow its map tiles to be used directly in Openlayers, and you can't use OpenLayers code in the Google maps API so you would need to rewrite much of it. However, it is possible to use javascript to place an Openlayers map and controls on top of a Google map.

When did Google start charging for Maps?

until October 2011 when Google announced that starting from January 2012 they will start charging for usage of they're mapping service.

What is the purpose of Google Maps?

Google Maps is a web service that provides detailed information about geographical regions and sites worldwide. In addition to conventional road maps, Google Maps offers aerial and satellite views of many locations. In some cities, Google Maps offers street views comprising photographs taken from vehicles.


2 Answers

Any Marker/Geoemtry you put into the map via the OL API has to be downloaded to the browser and then rendered in the browser's memory.

If you have many geometries that you render onto the map, you can make an extra image layer with just these geometries. You can do that by using a WMS like Geoserver. Geoserver plays very nice with OpenLayers and is a pretty fast WMS. So you can combine the public a background layer like OSM or GoogleMaps with layers from your own WMS.

This approach might not work for clickable markers, but will improve speed when you show any painted geometries like polygons etc. on the map.

Greetings, Steve

like image 167
alfonx Avatar answered Oct 05 '22 21:10

alfonx


I take it you are using one of the classes in OpenLayers.Strategy, such as Filter or Cluster, to reduce the number of markers that are actually displayed? I haven't used Google maps, but it sounds as though marked manager does the same kind of thing. Ultimately, both libraries are constrained by the same browser limitations when it comes to rendering large number of dom objects.

like image 32
John Powell Avatar answered Oct 05 '22 22:10

John Powell