Hey Eliecer,
1) Ok, will check this and fix it.
2) No. I had implemented the MarkerClusterer (900h...) and it doesn't do it for hotspots. MarkerClusterer is fine when you have your own small google app and you know that you'll never going to have more than 2000 markers, you don't need to show marker information on the right etc. It is for a known set of markers. In our case I have no idea how many markers you guys can have, that is why it doesn't fit the requirements.
I'm looking into a custom tile solution. We will generate transparent images on the server with points on them and we can layer those on the map. You will have the standard 20 hotspots + tiles that show where we have more locations... This will solve all confusion problems currently present on the map. In addition if we have the custom tiles we don't need to load another 20 markers when you move around - we'll load another 20 only if your current center changes. (just look at maps.google.com - they have a similar approach, but it seems that they use fusion tables - and I would also like to use fusion tables, but this would mean that each user will have to send his data to google and this doesn't seem as a good solution right now).
Something else I found the other day is the webgl canvaslayer:
googlemapsmania.blogspot.fr/2012/07/goog...aslayer-library.html
- it also has the ability to show 1000 of locations, but here we have the same problem -> how do you send so much data to the client. If I return just an array with lat and long coordinates I'll end up with few 1mb of data for 1000 spots... And this doesn't seem as a good solution.
So right now the custom tiles seem to be best suited. The tiles will be generated once on the server and they are cached both by the client and the server. So once generated the map should be extremely fast and we will generate new locations only if needed (new hotsptos added etc).
3. Well you can try to hack the code
media/com_hotspots/js/modules/categories.js
add
window.fireEvent('zoomToMarkers');
after
window.fireEvent('categoryClicked', this.get('data-id'));
This should zoom out the map each time you click a category.
4. I'll check it out
5. I'll check it out
6. I'll check it out
7. If you search for "restaurant downtown" -> the query should return all restaurants that have the string "restaurant downtown" in that order.
If you search for << restaurant downtown >> - without quotes it should return all hotspots that contain restaurant OR downtown anywhere in the text.
8. will check it out
9. you could try
.spots div {
display:block;
text-align: right;
}
Regards,
Daniel