PageSourceSearch

https://www.katholische-kirche-steiermark.at//swstatic-260930033211/swscripts/std/markerclusterer_packed.js

js katholische-kirche-steiermark.at collected 2026-10-02 11:23:44 UTC 21,209 bytes, 77 lines download raw bytes

1// ==ClosureCompiler==
2// @compilation_level ADVANCED_OPTIMIZATIONS
3// @externs_url https://raw.githubusercontent.com/google/closure-compiler/master/contrib/externs/maps/google_maps_api_v3.js
4// ==/ClosureCompiler==
5
6/**
7 * @name Gmaps MarkerClusterer for Google Maps v3
8 * @version version 1.2.0
9 * @author Luke Mahe
10 * @author Sebastian Hösl <[email protected]>
11 * @fileoverview
12 * The library creates and manages per-zoom-level clusters for large amounts of
13 * markers.
14 * This is a v3 implementation of the v2 MarkerClusterer
15 * {@link http://gmaps-utility-library-dev.googlecode.com/svn/tags/markerclusterer/}
16 * ></a>.
17 */
18
19/**
20 * @license
21 *
22 * Licensed under the Apache License, Version 2.0 (the "License");
23 * you may not use this file except in compliance with the License.
24 * You may obtain a copy of the License at
25 *
26 *     http://www.apache.org/licenses/LICENSE-2.0
27 *
28 * Unless required by applicable law or agreed to in writing, software
29 * distributed under the License is distributed on an "AS IS" BASIS,
30 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31 * See the License for the specific language governing permissions and
32 * limitations under the License.
33 */
34
35/**
36 * A Marker Clusterer that clusters markers.
37 *
38 * @param {google.maps.Map} map The Google map to attach to.
39 * @param {Array.<google.maps.Marker>=} opt_markers Optional markers to add to
40 *   the cluster.
41 * @param {Object=} opt_options support the following options:
42 *     'gridSize': (number) The grid size of a cluster in pixels.
43 *     'maxZoom': (number) The maximum zoom level that a marker can be part of a
44 *                cluster.
45 *     'zoomOnClick': (boolean) Whether the default behaviour of clicking on a
46 *                    cluster is to zoom into it.
47 *     'averageCenter': (boolean) Whether the center of each cluster should be
48 *                      the average of all markers in the cluster.
49 *     'minimumClusterSize': (number) The minimum number of markers to be in a
50 *                           cluster before the markers are hidden and a count
51 *                           is shown.
52 *     'ignoreHiddenMarkers': (boolean) Whether to ignore markers that are not
53 *                            visible or count and cluster them anyway
54 *     'styles': (Array) An array of objects with these properties:
55 *       'url': (string) The image url.
56 *       'height': (number) The image height.
57 *       'width': (number) The image width.
58 *       'anchor': (Array) The anchor position of the label text.
59 *       'textColor': (string) The text color.
60 *       'textSize': (number) The text size.
61 *       'backgroundPosition': (string) The position of the backgound x, y.
62 *       'iconAnchor': (Array) The anchor position of the icon x, y.
63 *       'cssClass': (string) One or more CSS class for styling this marker.
64 *     'onMouseoverCluster': (function) The event handler used for onmouseover
65 *                           each cluster
66 *     'onMouseoutCluster': (function) The event handler used for onmouseout
67 *                          each cluster
68 *     'drawCluster': (function) Custom draw method for ClusterIcon
69 *     'hideCluster': (function) Custom hide method for ClusterIcon
70 *     'showCluster': (function) Custom hide method for ClusterIcon
71 *     'onAddCluster': (function) Custom onAdd method for ClusterIcon
72 *     'onRemoveCluster': (function) Custom onRemove method for ClusterIcon
73 * @constructor
74 * @extends google.maps.OverlayView
75 */
76
77function MarkerClusterer(e,t,r){this.extend(MarkerClusterer,google.maps.OverlayView),this.map_=e,this.markers_=[],this.clusters_=[],this.markersCluster_={},this.markersUniqueID=1,this.sizes=[53,56,66,78,90],this.styles_=[],this.cssClass_="",this.cssDefaultClass_="cluster",this.setIndex_=0,this.ready_=!1;var s=r||{};this.gridSize_=void 0!==s.gridSize?s.gridSize:60,this.minClusterSize_=s.minimumClusterSize||2,this.ignoreHiddenMarkers_=s.ignoreHiddenMarkers||!1,this.maxZoom_=s.maxZoom||null,this.styles_=s.styles||[],this.cssClass_=s.cssClass||null,this.imagePath_=s.imagePath||this.MARKER_CLUSTER_IMAGE_PATH_,this.imageExtension_=s.imageExtension||this.MARKER_CLUSTER_IMAGE_EXTENSION_,this.zoomOnClick_=!0,void 0!=s.zoomOnClick&&(this.zoomOnClick_=s.zoomOnClick),this.averageCenter_=!1,void 0!=s.averageCenter&&(this.averageCenter_=s.averageCenter),this.onMouseoverCluster_=s.onMouseoverCluster,this.onMouseoutCluster_=s.onMouseoutCluster,this.drawCluster_=s.drawCluster,this.hideCluster_=s.hideCluster,this.showCluster_=s.showCluster,this.onAddCluster_=s.onAddCluster,this.onRemoveCluster_=s.onRemoveCluster,this.setupStyles_(),this.setMap(e),this.prevZoom_=this.map_.getZoom();var o=this;google.maps.event.addListener(this.map_,"zoom_changed",function(){var e=o.map_.getZoom();o.prevZoom_!=e&&(o.prevZoom_=e,o.resetViewport())}),google.maps.event.addListener(this.map_,"idle",function(){o.redraw()}),t&&t.length&&this.addMarkers(t,!1)}function Cluster(e){this.markerClusterer_=e,this.map_=e.getMap(),this.gridSize_=e.getGridSize(),this.minClusterSize_=e.getMinClusterSize(),this.averageCenter_=e.isAverageCenter(),this.center_=null,this.markers_=[],this.bounds_=null,this.clusterIcon_=new ClusterIcon(this,e.getStyles(),e.getGridSize())}function ClusterIcon(e,t,r){e.getMarkerClusterer().extend(ClusterIcon,google.maps.OverlayView),this.styles_=t,this.padding_=r||0,this.cluster_=e,this.center_=null,this.map_=e.getMap(),this.div_=null,this.sums_=null,this.visible_=!1,this.setMap(this.map_)}function defaultClusterOnAdd(e){if(e.div_=document.createElement("DIV"),e.visible_){var t=e.getPosFromLatLng_(e.center_);e.div_.style.cssText=e.createCss(t),e.div_.innerHTML=e.sums_.text,e.addClass()}e.getPanes().overlayMouseTarget.appendChild(e.div_);var r=!1,s=!1;e.div_.addEventListener("click",function(t){r||e.triggerClusterClick(t)}),e.div_.addEventListener("mousedown",function(){r=!1,s=!0}),e.div_.addEventListener("mouseup",function(){r=!1,s=!1}),e.div_.addEventListener("mousemove",function(){s&&(r=!0)}),e.div_.addEventListener("mouseover",function(t){e.triggerClusterMouseover(t)}),e.div_.addEventListener("mouseout",function(t){e.triggerClusterMouseout(t)})}function defaultClusterDraw(e){if(e.visible_){var t=e.getPosFromLatLng_(e.center_);e.div_.style.top=t.y+"px",e.div_.style.left=t.x+"px"}}function defaultClusterHide(e){e.div_&&(e.div_.style.display="none",e.div_.className=""),e.visible_=!1}function defaultClusterShow(e){if(e.div_){var t=e.getPosFromLatLng_(e.center_);e.div_.style.cssText=e.createCss(t),e.div_.style.display="",e.addClass()}e.visible_=!0}function defaultClusterOnRemove(e){e.div_&&e.div_.parentNode&&(e.hide(),e.div_.parentNode.removeChild(e.div_),e.div_=null)}MarkerClusterer.prototype.MARKER_CLUSTER_IMAGE_PATH_="https://raw.githubusercontent.com/gmaps-marker-clusterer/gmaps-marker-clusterer/master/images/m",Mar
77kerClusterer.prototype.MARKER_CLUSTER_IMAGE_EXTENSION_="png",MarkerClusterer.prototype.extend=function(e,t){return(function(e){for(var t in e.prototype)this.prototype[t]=e.prototype[t];return this}).apply(e,[t])},MarkerClusterer.prototype.onAdd=function(){this.setReady_(!0)},MarkerClusterer.prototype.draw=function(){},MarkerClusterer.prototype.setupStyles_=function(){if(!this.styles_.length)for(var e,t=0;e=this.sizes[t];t++){var r="";r="function"==typeof this.imagePath_?this.imagePath_(t,e):this.imagePath_+(t+1)+"."+this.imageExtension_,this.styles_.push({url:r,height:e,width:e})}},MarkerClusterer.prototype.fitMapToMarkers=function(){for(var e,t=this.getMarkers(),r=new google.maps.LatLngBounds,s=0;e=t[s];s++)r.extend(e.getPosition());this.map_.fitBounds(r)},MarkerClusterer.prototype.setStyles=function(e){this.styles_=e},MarkerClusterer.prototype.getStyles=function(){return this.styles_},MarkerClusterer.prototype.isZoomOnClick=function(){return this.zoomOnClick_},MarkerClusterer.prototype.isAverageCenter=function(){return this.averageCenter_},MarkerClusterer.prototype.getMarkers=function(){return this.markers_},MarkerClusterer.prototype.getTotalMarkers=function(){return this.markers_.length},MarkerClusterer.prototype.setMaxZoom=function(e){this.maxZoom_=e},MarkerClusterer.prototype.getMaxZoom=function(){return this.maxZoom_},MarkerClusterer.prototype.getMarkersCluster=function(e){return this.clusters_[this.markersCluster_[e.uniqueID]]},MarkerClusterer.prototype.calculator_=function(e,t){for(var r=0,s=e.length,o=s;0!==o;)o=parseInt(o/10,10),r++;return{text:s,index:r=Math.min(r,t)}},MarkerClusterer.prototype.setCalculator=function(e){this.calculator_=e},MarkerClusterer.prototype.getCalculator=function(){return this.calculator_},MarkerClusterer.prototype.addMarkers=function(e,t){for(var r,s=0;r=e[s];s++)this.pushMarkerTo_(r);t||this.redraw()},MarkerClusterer.prototype.pushMarkerTo_=function(e){if(e.isAdded=!1,e.draggable){var t=this;google.maps.event.addListener(e,"dragend",function(){e.isAdded=!1,t.repaint()})}e.uniqueID=this.markersUniqueID,this.markersUniqueID++,this.markers_.push(e)},MarkerClusterer.prototype.addMarker=function(e,t){this.pushMarkerTo_(e),t||this.redraw()},MarkerClusterer.prototype.removeMarker_=function(e){var t=-1;if(this.markers_.indexOf)t=this.markers_.indexOf(e);else for(var r,s=0;r=this.markers_[s];s++)if(r==e){t=s;break}return -1!=t&&(e.setMap(null),this.markers_.splice(t,1),delete this.markersCluster_[e.uniqueID],!0)},MarkerClusterer.prototype.removeMarker=function(e,t){var r=this.removeMarker_(e);return!t&&!!r&&(this.resetViewport(),this.redraw(),!0)},MarkerClusterer.prototype.removeMarkers=function(e,t){for(var r=!1,s=e.length;s>=0;s--){var o=e[s],i=this.removeMarker_(o);r=r||i}if(!t&&r)return this.resetViewport(),this.redraw(),!0},MarkerClusterer.prototype.setReady_=function(e){this.ready_||(this.ready_=e,this.createClusters_())},MarkerClusterer.prototype.getTotalClusters=function(){return this.clusters_.length},MarkerClusterer.prototype.getClusters=function(){return this.clusters_},MarkerClusterer.prototype.getMap=function(){return this.map_},MarkerClusterer.prototype.setMap=function(e){this.map_=e},MarkerClusterer.prototype.getGridSize=function(){return this.gridSize_},MarkerClusterer.prototype.setGridSize=function(e){this.gridSize_=e},MarkerClusterer.prototype.getMinClusterSize=function(){return this.minClusterSize_},MarkerClusterer.prototype.setMinClusterSize=function(e){this.minClusterSize_=e},MarkerClusterer.prototype.getExtendedBounds=function(e){var t=this.getProjection(),r=new google.maps.LatLng(e.getNorthEast().lat(),e.getNorthEast().lng()),s=new google.maps.LatLng(e.getSouthWest
77().lat(),e.getSouthWest().lng()),o=t.fromLatLngToDivPixel(r);o.x+=this.gridSize_,o.y-=this.gridSize_;var i=t.fromLatLngToDivPixel(s);i.x-=this.gridSize_,i.y+=this.gridSize_;var n=t.fromDivPixelToLatLng(o),u=t.fromDivPixelToLatLng(i);return e.extend(n),e.extend(u),e},MarkerClusterer.prototype.isMarkerInBounds_=function(e,t){return t.contains(e.getPosition())},MarkerClusterer.prototype.clearMarkers=function(){this.resetViewport(!0),this.markers_=[],this.markersCluster_={},this.markersUniqueID=1},MarkerClusterer.prototype.resetViewport=function(e){for(var t,r=0;t=this.clusters_[r];r++)t.remove();for(var s,r=0;s=this.markers_[r];r++)s.isAdded=!1,e&&s.setMap(null);this.clusters_=[],this.markersCluster_={},this.markersUniqueID=1},MarkerClusterer.prototype.repaint=function(){var e=this.clusters_.slice();this.clusters_.length=0,this.resetViewport(),this.redraw(),window.setTimeout(function(){for(var t,r=0;t=e[r];r++)t.remove()},0)},MarkerClusterer.prototype.redraw=function(){this.createClusters_()},MarkerClusterer.prototype.distanceBetweenPoints_=function(e,t){if(!e||!t)return 0;var r=(t.lat()-e.lat())*Math.PI/180,s=(t.lng()-e.lng())*Math.PI/180,o=Math.sin(r/2)*Math.sin(r/2)+Math.cos(e.lat()*Math.PI/180)*Math.cos(t.lat()*Math.PI/180)*Math.sin(s/2)*Math.sin(s/2);return 6371*(2*Math.atan2(Math.sqrt(o),Math.sqrt(1-o)))},MarkerClusterer.prototype.addToClosestCluster_=function(e){var t=4e4,r=null;e.getPosition();for(var s,o=null,i=0;
77s=this.clusters_[i];i++){var n=s.getCenter();if(n){var u=this.distanceBetweenPoints_(n,e.getPosition());u<t&&(t=u,r=s,o=i)}}if(r&&r.isMarkerInClusterBounds(e))r.addMarker(e);else{var s=new Cluster(this);s.addMarker(e),this.clusters_.push(s),o=this.clusters_.length-1}e.isAdded&&(this.markersCluster_[e.uniqueID]=o)},MarkerClusterer.prototype.createClusters_=function(){if(this.ready_)for(var e,t=new google.maps.LatLngBounds(this.map_.getBounds().getSouthWest(),this.map_.getBounds().getNorthEast()),r=this.getExtendedBounds(t),s=0;e=this.markers_[s];s++)!e.isAdded&&this.isMarkerInBounds_(e,r)&&(!this.ignoreHiddenMarkers_||e.getVisible())&&this.addToClosestCluster_(e)},Cluster.prototype.isMarkerAlreadyAdded=function(e){if(this.markers_.indexOf)return -1!=this.markers_.indexOf(e);for(var t,r=0;t=this.markers_[r];r++)if(t==e)return!0;return!1},Cluster.prototype.addMarker=function(e){if(this.isMarkerAlreadyAdded(e))return!1;if(this.center_){if(this.averageCenter_){var t=this.markers_.length+1,r=(this.center_.lat()*(t-1)+e.getPosition().lat())/t,s=(this.center_.lng()*(t-1)+e.getPosition().lng())/t;this.center_=new google.maps.LatLng(r,s),this.calculateBounds_()}}else this.center_=e.getPosition(),this.calculateBounds_();e.isAdded=!0,this.markers_.push(e);var o=this.markers_.length;if(o<this.minClusterSize_&&e.getMap()!=this.map_&&e.setMap(this.map_),o==this.minClusterSize_)for(var i=0;i<o;i++)this.markers_[i].setMap(null);return o>=this.minClusterSize_&&e.setMap(null),this.updateIcon(),!0},Cluster.prototype.getMarkerClusterer=function(){return this.markerClusterer_},Cluster.prototype.getBounds=function(){for(var e,t=new google.maps.LatLngBounds(this.center_,this.center_),r=this.getMarkers(),s=0;e=r[s];s++)t.extend(e.getPosition());return t},Cluster.prototype.remove=function(){this.clusterIcon_.remove(),this.markers_.length=0,delete this.markers_},Cluster.prototype.getSize=function(){return this.markers_.length},Cluster.prototype.getMarkers=function(){return this.markers_},Cluster.prototype.getCenter=function(){return this.center_},Cluster.prototype.calculateBounds_=function(){var e=new google.maps.LatLngBounds(this.center_,this.center_);this.bounds_=this.markerClusterer_.getExtendedBounds(e)},Cluster.prototype.isMarkerInClusterBounds=function(e){return this.bounds_.contains(e.getPosition())},Cluster.prototype.getMap=function(){return this.map_},Cluster.prototype.updateIcon=function(){var e=this.map_.getZoom(),t=this.markerClusterer_.getMaxZoom();if(t&&e>t){for(var r,s=0;r=this.markers_[s];s++)r.setMap(this.map_);return}if(this.markers_.length<this.minClusterSize_){this.clusterIcon_.hide();return}var o=this.markerClusterer_.getStyles().length,i=this.markerClusterer_.getCalculator()(this.markers_,o);this.clusterIcon_.setCenter(this.center_),this.clusterIcon_.setSums(i),this.clusterIcon_.show()},ClusterIcon.prototype.triggerClusterClick=function(e){var t=this.cluster_.getMarkerClusterer();google.maps.event.trigger(t,"clusterclick",this.cluster_,e),t.isZoomOnClick()&&this.map_.fitBounds(this.cluster_.getBounds())},ClusterIcon.prototype.triggerClusterMouseover=function(e){var t=this.cluster_.getMarkerClusterer();google.maps.event.trigger(t,"clustermouseover",this.cluster_,e),"function"==typeof this.cluster_.markerClusterer_.onMouseoverCluster_&&this.cluster_.markerClusterer_.onMouseoverCluster_(this,e)},ClusterIcon.prototype.triggerClusterMouseout=function(e){var t=this.cluster_.getMarkerClusterer();google.maps.event.trigger(t,"clustermouseout",this.cluster_,e),"function"==typeof this.cluster_.markerClusterer_.onMouseoutCluster_&&this.cluster_.markerClusterer_.onMouseoutCluster_(this,e)},ClusterIcon.prototype.onAdd=function(){"function"==typeof this.cluster_.markerClusterer_.onAddCluster_?this.cluster_.markerClusterer_.onAddCluster_(this):defaultClusterOnAdd(this)},ClusterIcon.prototype.getPosFromLatLng_=function(e){var t=this.getProjection().fromLatLngToDivPixel(e);return"object"==typeof this.iconAnchor_&&2===this.iconAnchor_.length?(t.x-=this.iconAnchor_[0],t.y-=this.iconAnchor_[1]):(t.x-=parseInt(this.width_/2,10),t.y-=parseInt(this.height_/2,10)),t},ClusterIcon.prototype.draw=function(){"function"==typeof this.cluster_.markerClusterer_.drawCluster_?this.cluster_.markerClusterer_.drawCluster_(this):defaultClusterDraw(this)},ClusterIcon.prototype.hide=function(){"function"==typeof this.cluster_.markerClusterer_.hideCluster_?this.cluster_.markerClusterer_.hideCluster_(this):defaultClusterHide(this)},ClusterIcon.prototype.show=function(){"function"==typeof this.cluster_.markerClusterer_.showCluster_?this.cluster_.markerClusterer_.showCluster_(this):defaultClusterShow(this)},ClusterIcon.prototype.remove=function(){this.setMap(null)},ClusterIcon.prototype.onRemove=function(){"function"==typeof this.cluster_.markerClusterer_.onRemoveCluster_?this.cluster_.markerClusterer_.onRemoveCluster_(this):defaultClusterOnRemove(this)},ClusterIcon.prototype.setSums=function(e){this.sums_=e,this.text_=e.text,this.index_=e.index,this.div_&&(this.div_.innerHTML=e.text),this.useStyle()},ClusterIcon.prototype.useStyle=function(){var e=Math.max(0,this.sums_.index-1);e=Math.min(this.styles_.length-1,e);var t=this.styles_[e];this.url_=t.url,this.height_=t.height,this.width_=t.width,this.textColor_=t.textColor,this.anchor_=t.anchor,this.textSize_=t.textSize,this.backgroundPosition_=t.backgroundPosition,this.iconAnchor_=t.iconAnchor,this.setIndex_=e},ClusterIcon.prototype.setCenter=function(e){this.center_=e},ClusterIcon.prototype.createCss=function(e){var t=[];if(this.cluster_.getMarkerClusterer().cssClass_)t.push("top:"+e.y+"px; left:"+e.x+"px;");else{t.push("background-image:url("+this.url_+");");var r=this.backgroundPosition_?this.backgroundPosition_:"0 0";t.push("background-position:"+r+";"),"object"==typeof this.anchor_?("number"==typeof this.anchor_[0]&&this.anchor_[0]>0&&this.anchor_[0]<this.height_?t.push("height:"+(this.height_-this.anchor_[0])+"px; padding-top:"+this.anchor_[0]+"px;"):"number"==typeof this.anchor_[0]&&this.anchor_[0]<0&&-this.anchor_[0]<this.height_?t.push("height:"+this.height_+"px; line-height:"+(this.height_+this.anchor_[0])+"px;"):t.push("height:"+this.height_+"px; line-height:"+this.height_+"px;"),"number"==typeof this.anchor_[1]&&this.anchor_[1]>
770&&this.anchor_[1]<this.width_?t.push("width:"+(this.width_-this.anchor_[1])+"px; padding-left:"+this.anchor_[1]+"px;"):t.push("width:"+this.width_+"px; text-align:center;")):t.push("height:"+this.height_+"px; line-height:"+this.height_+"px; width:"+this.width_+"px; text-align:center;");var s=this.textColor_?this.textColor_:"black",o=this.textSize_?this.textSize_:11;t.push("cursor:pointer; top:"+e.y+"px; left:"+e.x+"px; color:"+s+"; position:absolute; font-size:"+o+"px; font-family:Arial,sans-serif; font-weight:bold")}return t.join("")},ClusterIcon.prototype.addClass=function(){var e=this.cluster_.getMarkerClusterer();e.cssClass_?this.div_.className=e.cssClass_+" "+e.cssDefaultClass_+this.setIndex_:this.div_.className=e.cssDefaultClass_+this.setIndex_},window.MarkerClusterer=MarkerClusterer,MarkerClusterer.prototype.addMarker=MarkerClusterer.prototype.addMarker,MarkerClusterer.prototype.addMarkers=MarkerClusterer.prototype.addMarkers,MarkerClusterer.prototype.clearMarkers=MarkerClusterer.prototype.clearMarkers,MarkerClusterer.prototype.fitMapToMarkers=MarkerClusterer.prototype.fitMapToMarkers,MarkerClusterer.prototype.getCalculator=MarkerClusterer.prototype.getCalculator,MarkerClusterer.prototype.getGridSize=MarkerClusterer.prototype.getGridSize,MarkerClusterer.prototype.getExtendedBounds=MarkerClusterer.prototype.getExtendedBounds,MarkerClusterer.prototype.getMap=MarkerClusterer.prototype.getMap,MarkerClusterer.prototype.getMarkers=MarkerClusterer.prototype.getMarkers,MarkerClusterer.prototype.getMaxZoom=MarkerClusterer.prototype.getMaxZoom,MarkerClusterer.prototype.getMarkersCluster=MarkerClusterer.prototype.getMarkersCluster,MarkerClusterer.prototype.getStyles=MarkerClusterer.prototype.getStyles,MarkerClusterer.prototype.getTotalClusters=MarkerClusterer.prototype.getTotalClusters,MarkerClusterer.prototype.getTotalMarkers=MarkerClusterer.prototype.getTotalMarkers,MarkerClusterer.prototype.redraw=MarkerClusterer.prototype.redraw,MarkerClusterer.prototype.removeMarker=MarkerClusterer.prototype.removeMarker,MarkerClusterer.prototype.removeMarkers=MarkerClusterer.prototype.removeMarkers,MarkerClusterer.prototype.resetViewport=MarkerClusterer.prototype.resetViewport,MarkerClusterer.prototype.repaint=MarkerClusterer.prototype.repaint,MarkerClusterer.prototype.setCalculator=MarkerClusterer.prototype.setCalculator,MarkerClusterer.prototype.setGridSize=MarkerClusterer.prototype.setGridSize,MarkerClusterer.prototype.setMaxZoom=MarkerClusterer.prototype.setMaxZoom,MarkerClusterer.prototype.onAdd=MarkerClusterer.prototype.onAdd,MarkerClusterer.prototype.draw=MarkerClusterer.prototype.draw,Cluster.prototype.getCenter=Cluster.prototype.getCenter,Cluster.prototype.getSize=Cluster.prototype.getSize,Cluster.prototype.getMarkers=Cluster.prototype.getMarkers,ClusterIcon.prototype.onAdd=ClusterIcon.prototype.onAdd,ClusterIcon.prototype.draw=ClusterIcon.prototype.draw,ClusterIcon.prototype.onRemove=ClusterIcon.prototype.onRemove;

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.