UNPKG

angular-heremaps

Version:

Angular directive for working with Nokia Here Maps

47 lines (35 loc) 1.15 kB
module.exports = HereMapsDOMMarker; HereMapsDOMMarker.$inject = ['HereMapsMarkerInterface']; function HereMapsDOMMarker(HereMapsMarkerInterface){ function DOMMarker(place){ this.place = place; this.setCoords(); } var proto = DOMMarker.prototype = new HereMapsMarkerInterface(); proto.constructor = DOMMarker; proto.create = create; proto.getIcon = getIcon; proto.setupEvents = setupEvents; return DOMMarker; function create(){ var marker = new H.map.DomMarker(this.coords, { icon: this.getIcon() }); this.addInfoBubble(marker); return marker; } function getIcon(){ var icon = this.place.markup; if(!icon) throw new Error('markup missed'); return new H.map.DomIcon(icon); } function setupEvents(el, events, remove){ var method = remove ? 'removeEventListener' : 'addEventListener'; for(var key in events) { if(!events.hasOwnProperty(key)) continue; el[method].call(null, key, events[key]); } } }