Richmarker Support
Closed this issue · 3 comments
Hey,
I need custom markers not bound by a single image reference. Real-world example... the pins must contain dynamic content such as price and the pins must resize according to the value length
I'm able to achieve this with RichMarker http://google-maps-utility-library-v3.googlecode.com/svn/trunk/richmarker/docs/reference.html
new RichMarker({
map:exports.map,
title: spot.title,
id: 'marker' + spotIndex,
position: newLatLng,
flat: true,
anchor: RichMarkerPosition.TOP_LEFT,
content: pinContent
});
So my question is, what's the best way for me to implement richmarker support with backbone.googlemaps?
On line 281in backbone.googlemaps.js:
new google.maps.Marker(_.extend({
position: this.model.getLatLng(),
map: this.map,
title: this.model.title,
animation: google.maps.Animation.DROP,
visible: false // hide, until render
}, this.overlayOptions));
I would need to overwrite this.gOverlay with my richmarker instantiation. Where or how should i do so based on the example code?
I ended up modifying this plugin to support richmarkers...
One way to approach this would be to refactor the GoogleMaps.MapView
class to extract a createView
method, which returns a google.maps
overlay instance. This method would be called in the constructor, instead of directly creating the object.
You could then extend GoogleMaps.MarkerView
, overriding the createView
method with your own logic for creating a RichMarker
instance.
For example:
// backbone.googlemaps.js
GoolgeMaps.MapView = Backbone.View.extend({
constructor: function(options) {
// ...
this.gOverlay = this._createView(overlayOptions);
//...
}
});
// yourApp.js
var RickMarkerView = Backbone.GoogleMaps.MarkerView.extend({
_createView: function(options) {
return new google.maps.RichMarker(options);
}
});
If you want to take a shot at it, I'd be happy to review a pull request.
Closing for inactivity. I'd still be open to a pull request on this feature, if you're interested.