KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm trying to use MarkerClusterer to clusterize the markers on my map. The problem is that I'm not using default markers ( google.maps.Marker ), but instead a custom class which hinerits from google.maps.OverlayView . Unfortunately it seems that the library has been developed assuming the use of basic markers, in fact I get errors because my class does not implement methods defined in google.maps.Marker . Is it possible to use the MarkerClusterer by keeping my custom markers? EDIT: it was a lot easier than I expected, I solved by implementing 2 methods in my custom class: setVisible() and getPosition() in order to help others the following is my complete interface (without full implementation): BFPushpin = function(config) { this.setMap(config.map); this.set("position", config.position); // other settings... }; // my class extends google.maps.OverlayView BFPushpin.prototype = new google.maps.OverlayView(); BFPushpin.prototype.getBounds = function() { return new google.maps.LatLngBounds(this.position, this.position); }; BFPushpin.prototype.getPoint = function() { var bounds = this.getBounds(); var projection = this.getProjection(); var sw = projection.fromLatLngToDivPixel(bounds.getSouthWest()); var ne = projection.fromLatLngToDivPixel(bounds.getNorthEast()); return new google.maps.Point(sw.x, ne.y); }; BFPushpin.prototype.getSuperContainer = function() { var panes = this.getPanes(); return jQuery(panes ? panes.overlayImage : ""); }; BFPushpin.prototype.getContainer = function() { // return inner container }; BFPushpin.prototype._generatePopupContent = function() { // return markup for the popupwindow }; BFPushpin.prototype._addListeners
Tags (comma-separated)
Save Edits
Cancel