L.SVG.include({_updateShape:function(t){var i=t._point,s=t._radius,e=t.options.shape;if("diamond"===e){var n="M "+(i.x-s)+" "+i.y+", L "+i.x+" "+(i.y-s)+", L"+(i.x+s)+" "+i.y+", L"+i.x+" "+(i.y+s)+", L"+(i.x-s)+" "+i.y;this._setPath(t,n)}if("square"===e){var n="M "+(i.x-s)+" "+(i.y-s)+", L "+(i.x+s)+" "+(i.y-s)+", L"+(i.x+s)+" "+(i.y+s)+", L"+(i.x-s)+" "+(i.y+s)+", L"+(i.x-s)+" "+(i.y-s);this._setPath(t,n)}if("triangle"===e){var n="M"+(i.x-s)+" "+(i.y+s)+" L"+i.x+" "+(i.y-s)+" L"+(i.x+s)+" "+(i.y+s)+" Z";this._setPath(t,n)}if("circle"===e&&this._updateCircle(t),"x"===e){var s=s/2,n="M"+(i.x+s)+","+(i.y+s)+"L"+(i.x-s)+","+(i.y-s)+"M"+(i.x-s)+","+(i.y+s)+"L"+(i.x+s)+","+(i.y-s);this._setPath(t,n)}}}),L.ShapeMarker=L.Path.extend({options:{fill:!0,shape:"triangle",radius:10},initialize:function(t,i){L.setOptions(this,i),this._latlng=L.latLng(t),this._radius=this.options.radius},setLatLng:function(t){return this._latlng=L.latLng(t),this.redraw(),this.fire("move",{latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var i=t&&t.radius||this._radius;return L.Path.prototype.setStyle.call(this,t),this.setRadius(i),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,i=this._radiusY||t,s=this._clickTolerance(),e=[t+s,i+s];this._pxBounds=new L.Bounds(this._point.subtract(e),this._point.add(e))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateShape(this)},_empty:function(){return this._size&&!this._renderer._bounds.intersects(this._pxBounds)},toGeoJSON:function(){return L.GeoJSON.getFeature(this,{type:"Point",coordinates:L.GeoJSON.latLngToCoords(this.getLatLng())})}}),L.shapeMarker=function(t,i){return new L.ShapeMarker(t,i)};