Completed
Push — master ( 4c028f...1474af )
by Mike
13s queued 11s
created
src/Map.php 1 patch
Spacing   +253 added lines, -253 removed lines patch added patch discarded remove patch
@@ -7,147 +7,147 @@  discard block
 block discarded – undo
7 7
     protected $output_js_contents;
8 8
     protected $output_html;
9 9
 
10
-    public $adsense = false;                    // Whether Google Adsense For Content should be enabled
11
-    public $adsenseChannelNumber = '';                        // The Adsense channel number for tracking the performance of this AdUnit
12
-    public $adsenseFormat = 'HALF_BANNER';            // The format of the AdUnit
13
-    public $adsensePosition = 'TOP_CENTER';                // The position of the AdUnit
14
-    public $adsensePublisherID = '';                        // Your Google AdSense publisher ID
15
-    public $apiKey = '';                        // If you've got an API key you can use it by passing this parameter. Setup an API key here: https://code.google.com/apis/console
16
-    public $backgroundColor = '';                        // A hex color value shown as the map background when tiles have not yet loaded as the user pans
17
-    public $bicyclingOverlay = false;                    // If set to TRUE will overlay bicycling information (ie. bike paths and suggested routes) onto the map by default
18
-    public $center = '37.4419, -122.1419';        // Sets the default center location (lat/long co-ordinate or address) of the map. If defaulting to the users location set to "auto"
19
-
20
-    public $class = '';                        // A class name if wishing to style the map further through CSS. Can also be useful if wanting it to be responsive etc.
21
-    public $cluster = false;                    // Whether to cluster markers
22
-    public $clusterGridSize = 60;                        // The grid size of a cluster in pixels
23
-    public $clusterMaxZoom = '';                        // The maximum zoom level that a marker can be part of a cluster
24
-    public $clusterZoomOnClick = true;                        // Whether the default behaviour of clicking on a cluster is to zoom into it
25
-    public $clusterAverageCenter = false;                    // Whether the center of each cluster should be the average of all markers in the cluster
26
-    public $clusterMinimumClusterSize = 2;                        // The minimum number of markers to be in a cluster before the markers are hidden and a count is shown
27
-    public $clusterStyles = []; 				// (object) An array that has style properties: *  'url': (string) The image url. *  'height': (number) The image height. *  'width': (number) The image width. *  'anchor': (Array) The anchor position of the label text. *  'textColor': (string) The text color. *  'textSize': (number) The text size. *  'backgroundPosition': (string) The position of the backgound x, y.
28
-    public $disableDefaultUI = false;                    // If set to TRUE will hide the default controls (ie. zoom, scale etc)
10
+    public $adsense = false; // Whether Google Adsense For Content should be enabled
11
+    public $adsenseChannelNumber = ''; // The Adsense channel number for tracking the performance of this AdUnit
12
+    public $adsenseFormat = 'HALF_BANNER'; // The format of the AdUnit
13
+    public $adsensePosition = 'TOP_CENTER'; // The position of the AdUnit
14
+    public $adsensePublisherID = ''; // Your Google AdSense publisher ID
15
+    public $apiKey = ''; // If you've got an API key you can use it by passing this parameter. Setup an API key here: https://code.google.com/apis/console
16
+    public $backgroundColor = ''; // A hex color value shown as the map background when tiles have not yet loaded as the user pans
17
+    public $bicyclingOverlay = false; // If set to TRUE will overlay bicycling information (ie. bike paths and suggested routes) onto the map by default
18
+    public $center = '37.4419, -122.1419'; // Sets the default center location (lat/long co-ordinate or address) of the map. If defaulting to the users location set to "auto"
19
+
20
+    public $class = ''; // A class name if wishing to style the map further through CSS. Can also be useful if wanting it to be responsive etc.
21
+    public $cluster = false; // Whether to cluster markers
22
+    public $clusterGridSize = 60; // The grid size of a cluster in pixels
23
+    public $clusterMaxZoom = ''; // The maximum zoom level that a marker can be part of a cluster
24
+    public $clusterZoomOnClick = true; // Whether the default behaviour of clicking on a cluster is to zoom into it
25
+    public $clusterAverageCenter = false; // Whether the center of each cluster should be the average of all markers in the cluster
26
+    public $clusterMinimumClusterSize = 2; // The minimum number of markers to be in a cluster before the markers are hidden and a count is shown
27
+    public $clusterStyles = []; // (object) An array that has style properties: *  'url': (string) The image url. *  'height': (number) The image height. *  'width': (number) The image width. *  'anchor': (Array) The anchor position of the label text. *  'textColor': (string) The text color. *  'textSize': (number) The text size. *  'backgroundPosition': (string) The position of the backgound x, y.
28
+    public $disableDefaultUI = false; // If set to TRUE will hide the default controls (ie. zoom, scale etc)
29 29
     public $disableClickableIcons = false;
30
-    public $disableDoubleClickZoom = false;                    // If set to TRUE will disable zooming when a double click occurs
31
-    public $disableMapTypeControl = false;                    // If set to TRUE will hide the MapType control (ie. Map, Satellite, Hybrid, Terrain)
32
-    public $disableNavigationControl = false;                    // If set to TRUE will hide the Navigation control (ie. zoom in/out, pan)
33
-    public $disableScaleControl = false;                    // If set to TRUE will hide the Scale control
34
-    public $disableStreetViewControl = false;                    // If set to TRUE will hide the Street View control
35
-    public $draggable = true;                        // If set to FALSE will prevent the map from being dragged around
36
-    public $draggableCursor = '';                        // The name or url of the cursor to display on a draggable object
37
-    public $draggingCursor = '';                        // The name or url of the cursor to display when an object is being dragged
38
-    public $geocodeCaching = false;                    // If set to TRUE will cache any geocode requests made when an address is used instead of a lat/long. Requires DB table to be created (see documentation)
39
-    public $https = false;                    // If set to TRUE will load the Google Maps JavaScript API over HTTPS, allowing you to utilize the API within your HTTPS secure application
40
-    public $navigationControlPosition = '';                        // The position of the Navigation control, eg. 'BOTTOM_RIGHT'
41
-    public $infowindowMaxWidth = 0;                        // The maximum width of the infowindow in pixels. Expecting an integer without units
42
-    public $infoAutoPan = false;                        //Disable auto-pan on open. By default, the info window will pan the map so that it is fully visible when it opens.
43
-    public $keyboardShortcuts = true;                        // If set to FALSE will disable to map being controlled via the keyboard
44
-    public $jsfile = '';                        // Set this to the path of an external JS file if you wish the JavaScript to be placed in a file rather than output directly into the <head></head> section. The library will try to create the file if it does not exist already. Please ensure the destination file is writeable
45
-    public $kmlLayerURL = '';                        // A URL to publicly available KML or GeoRSS data for displaying geographic information. Multiple KML layers can be passed in by using an array of URL's. Note, if using multiple you'll probably have to set $kmlLayerPreserveViewport to true and manually set map center and zoom
46
-    public $kmlLayerPreserveViewport = false;                    // Specifies whether the map should be adjusted to the bounds of the KmlLayer's contents. By default the map is zoomed and positioned to show the entirety of the layer's contents
47
-    public $language = '';                        // The map will by default load in the language of the browser. This can be overriden however here. For a full list of codes see https://spreadsheets.google.com/pub?key=p9pdwsai2hDMsLkXsoM05KQ&gid=1
48
-    public $loadAsynchronously = false;                    // Load the map and API asynchronously once the page has loaded
49
-    public $map_div_id = "map_canvas";                // The ID of the <div></div> that is output which contains the map
50
-    public $map_height = "450px";                    // The height of the map container. Any units (ie 'px') can be used. If no units are provided 'px' will be presumed
51
-    public $map_name = "map";                    // The JS reference to the map. Currently not used but to be used in the future when multiple maps are supported
52
-    public $map_type = "ROADMAP";                // The default MapType. Values accepted are 'HYBRID', 'ROADMAP', 'SATELLITE' or 'TERRAIN'
53
-    public $map_types_available = array();                    // The other MapTypes available for selection on the map
54
-    public $map_width = "100%";                    // The width of the map container. Any units (ie 'px') can be used. If no units are provided 'px' will be presumed
55
-    public $maps_loaded = 0;                        // Counter which keeps track of how many maps have been created to avoid standard functions being output twice
56
-    public $mapTypeControlPosition = '';                        // The position of the MapType control, eg. 'BOTTOM_RIGHT'
57
-    public $mapTypeControlStyle = '';                        // The style of the MapType control. blank, 'DROPDOWN_MENU' or 'HORIZONTAL_BAR' values accepted.
58
-    public $minzoom = '';                        // The minimum zoom level which will be displayed on the map
59
-    public $maxzoom = '';                        // The maximum zoom level which will be displayed on the map
60
-    public $minifyJS = false;                    // If TRUE will run the JavaScript through Jsmin.php (this file and PHP5+ required) to minify the code
61
-    public $noClear = false;                    // If TRUE do not clear the contents of the map div
62
-    public $onboundschanged = '';                        // The JavaScript action to perform when the viewport bounds have changed
63
-    public $oncenterchanged = '';                        // The JavaScript action to perform when themap center property changes
64
-    public $onclick = '';                        // The JavaScript action to perform when the map is clicked
65
-    public $ondblclick = '';                        // The JavaScript action to perform when the map is double-clicked
66
-    public $ondrag = '';                        // The JavaScript action to perform while the map is dragged
67
-    public $ondragend = '';                        // The JavaScript action to perform when the user stops dragging the map
68
-    public $ondragstart = '';                        // The JavaScript action to perform when the user starts dragging the map
69
-    public $onidle = '';                        // The JavaScript action to perform when the map becomes idle after panning or zooming
70
-    public $onload = '';                        // The JavaScript action to perform when the map first loads. This library hi-jacks the window.load event so add any bespoke code using this option
71
-    public $onmousemove = '';                        // The JavaScript action to perform when the user's mouse moves over the map container
72
-    public $onmouseout = '';                        // The JavaScript action to perform when the user's mouse exits the map container
73
-    public $onmouseover = '';                        // The JavaScript action to perform when the user's mouse enters the map container
74
-    public $onresize = '';                        // The JavaScript action to perform when the maps div changes size
75
-    public $onrightclick = '';                        // The JavaScript action to perform when the map is right-clicked
76
-    public $ontilesloaded = '';                        // The JavaScript action to perform when the visible tiles have finished loading
77
-    public $onzoomchanged = '';                        // The JavaScript action to perform when the maps zoom property changes
78
-    public $panoramio = false;                    // If TRUE will add photos from Panoramio as a layer to your maps as a series of large and small photo icons
79
-    public $panoramioTag = '';                        // Restrict the set of Panoramio photos shown to those matching a certain textual tag
80
-    public $panoramioUser = '';                        // Restrict the set of Panoramio photos shown to those matching a particular user
81
-    public $region = '';                        // Country code top-level domain (eg "uk") within which to search. Useful if supplying addresses rather than lat/longs
82
-    public $scaleControlPosition = '';                        // The position of the Scale control, eg. 'BOTTOM_RIGHT'
83
-    public $scrollwheel = true;                        // If set to FALSE will disable zooming by scrolling of the mouse wheel
84
-    public $streetViewAddressControl = true;                        // If set to FALSE will hide the Address control
85
-    public $streetViewAddressPosition = '';                        // The position of the Address control, eg. 'BOTTOM'
86
-    public $streetViewControlPosition = '';                        // The position of the Street View control when viewing normal aerial map, eg. 'BOTTOM_RIGHT'
87
-    public $streetViewCloseButton = false;                    // If set to TRUE will show the close button in the top right. The close button allows users to return to the aerial map
88
-    public $streetViewLinksControl = true;                        // If set to FALSE will hide the Links control
89
-    public $streetViewPanControl = true;                        // If set to FALSE will hide the Pan control
90
-    public $streetViewPanPosition = '';                        // The position of the Scale control, eg. 'TOP_RIGHT'
91
-    public $streetViewPovHeading = 0;                        // The Street View camera heading in degrees relative to true north. True north is 0, east is 90, south is 180, west is 270
92
-    public $streetViewPovPitch = 0;                        // The Street View camera pitch in degrees, relative to the street view vehicle. Directly upwards is 90, Directly downwards is -90.
93
-    public $streetViewPovZoom = 0;                        // The Street View zoom level. Fully zoomed-out is level 0, zooming in increases the zoom level.
94
-    public $streetViewZoomControl = true;                        // If set to FALSE will hide the Zoom control
95
-    public $streetViewZoomPosition = '';                        // The position of the Scale control, eg. 'TOP_RIGHT'
96
-    public $streetViewZoomStyle = '';                        // The size of the Street View zoom control. blank, 'SMALL' or 'LARGE' values accepted.
97
-    public $styles = array();                    // An array of styles used to colour aspects of the map and turn points of interest on and off
98
-    public $stylesAsMapTypes = false;                    // If applying styles, whether to apply them to the default map or add them as additional map types
99
-    public $stylesAsMapTypesDefault = '';                        // If $stylesAsMapTypes is true the default style. Should contain the 'Name' of the style
30
+    public $disableDoubleClickZoom = false; // If set to TRUE will disable zooming when a double click occurs
31
+    public $disableMapTypeControl = false; // If set to TRUE will hide the MapType control (ie. Map, Satellite, Hybrid, Terrain)
32
+    public $disableNavigationControl = false; // If set to TRUE will hide the Navigation control (ie. zoom in/out, pan)
33
+    public $disableScaleControl = false; // If set to TRUE will hide the Scale control
34
+    public $disableStreetViewControl = false; // If set to TRUE will hide the Street View control
35
+    public $draggable = true; // If set to FALSE will prevent the map from being dragged around
36
+    public $draggableCursor = ''; // The name or url of the cursor to display on a draggable object
37
+    public $draggingCursor = ''; // The name or url of the cursor to display when an object is being dragged
38
+    public $geocodeCaching = false; // If set to TRUE will cache any geocode requests made when an address is used instead of a lat/long. Requires DB table to be created (see documentation)
39
+    public $https = false; // If set to TRUE will load the Google Maps JavaScript API over HTTPS, allowing you to utilize the API within your HTTPS secure application
40
+    public $navigationControlPosition = ''; // The position of the Navigation control, eg. 'BOTTOM_RIGHT'
41
+    public $infowindowMaxWidth = 0; // The maximum width of the infowindow in pixels. Expecting an integer without units
42
+    public $infoAutoPan = false; //Disable auto-pan on open. By default, the info window will pan the map so that it is fully visible when it opens.
43
+    public $keyboardShortcuts = true; // If set to FALSE will disable to map being controlled via the keyboard
44
+    public $jsfile = ''; // Set this to the path of an external JS file if you wish the JavaScript to be placed in a file rather than output directly into the <head></head> section. The library will try to create the file if it does not exist already. Please ensure the destination file is writeable
45
+    public $kmlLayerURL = ''; // A URL to publicly available KML or GeoRSS data for displaying geographic information. Multiple KML layers can be passed in by using an array of URL's. Note, if using multiple you'll probably have to set $kmlLayerPreserveViewport to true and manually set map center and zoom
46
+    public $kmlLayerPreserveViewport = false; // Specifies whether the map should be adjusted to the bounds of the KmlLayer's contents. By default the map is zoomed and positioned to show the entirety of the layer's contents
47
+    public $language = ''; // The map will by default load in the language of the browser. This can be overriden however here. For a full list of codes see https://spreadsheets.google.com/pub?key=p9pdwsai2hDMsLkXsoM05KQ&gid=1
48
+    public $loadAsynchronously = false; // Load the map and API asynchronously once the page has loaded
49
+    public $map_div_id = "map_canvas"; // The ID of the <div></div> that is output which contains the map
50
+    public $map_height = "450px"; // The height of the map container. Any units (ie 'px') can be used. If no units are provided 'px' will be presumed
51
+    public $map_name = "map"; // The JS reference to the map. Currently not used but to be used in the future when multiple maps are supported
52
+    public $map_type = "ROADMAP"; // The default MapType. Values accepted are 'HYBRID', 'ROADMAP', 'SATELLITE' or 'TERRAIN'
53
+    public $map_types_available = array(); // The other MapTypes available for selection on the map
54
+    public $map_width = "100%"; // The width of the map container. Any units (ie 'px') can be used. If no units are provided 'px' will be presumed
55
+    public $maps_loaded = 0; // Counter which keeps track of how many maps have been created to avoid standard functions being output twice
56
+    public $mapTypeControlPosition = ''; // The position of the MapType control, eg. 'BOTTOM_RIGHT'
57
+    public $mapTypeControlStyle = ''; // The style of the MapType control. blank, 'DROPDOWN_MENU' or 'HORIZONTAL_BAR' values accepted.
58
+    public $minzoom = ''; // The minimum zoom level which will be displayed on the map
59
+    public $maxzoom = ''; // The maximum zoom level which will be displayed on the map
60
+    public $minifyJS = false; // If TRUE will run the JavaScript through Jsmin.php (this file and PHP5+ required) to minify the code
61
+    public $noClear = false; // If TRUE do not clear the contents of the map div
62
+    public $onboundschanged = ''; // The JavaScript action to perform when the viewport bounds have changed
63
+    public $oncenterchanged = ''; // The JavaScript action to perform when themap center property changes
64
+    public $onclick = ''; // The JavaScript action to perform when the map is clicked
65
+    public $ondblclick = ''; // The JavaScript action to perform when the map is double-clicked
66
+    public $ondrag = ''; // The JavaScript action to perform while the map is dragged
67
+    public $ondragend = ''; // The JavaScript action to perform when the user stops dragging the map
68
+    public $ondragstart = ''; // The JavaScript action to perform when the user starts dragging the map
69
+    public $onidle = ''; // The JavaScript action to perform when the map becomes idle after panning or zooming
70
+    public $onload = ''; // The JavaScript action to perform when the map first loads. This library hi-jacks the window.load event so add any bespoke code using this option
71
+    public $onmousemove = ''; // The JavaScript action to perform when the user's mouse moves over the map container
72
+    public $onmouseout = ''; // The JavaScript action to perform when the user's mouse exits the map container
73
+    public $onmouseover = ''; // The JavaScript action to perform when the user's mouse enters the map container
74
+    public $onresize = ''; // The JavaScript action to perform when the maps div changes size
75
+    public $onrightclick = ''; // The JavaScript action to perform when the map is right-clicked
76
+    public $ontilesloaded = ''; // The JavaScript action to perform when the visible tiles have finished loading
77
+    public $onzoomchanged = ''; // The JavaScript action to perform when the maps zoom property changes
78
+    public $panoramio = false; // If TRUE will add photos from Panoramio as a layer to your maps as a series of large and small photo icons
79
+    public $panoramioTag = ''; // Restrict the set of Panoramio photos shown to those matching a certain textual tag
80
+    public $panoramioUser = ''; // Restrict the set of Panoramio photos shown to those matching a particular user
81
+    public $region = ''; // Country code top-level domain (eg "uk") within which to search. Useful if supplying addresses rather than lat/longs
82
+    public $scaleControlPosition = ''; // The position of the Scale control, eg. 'BOTTOM_RIGHT'
83
+    public $scrollwheel = true; // If set to FALSE will disable zooming by scrolling of the mouse wheel
84
+    public $streetViewAddressControl = true; // If set to FALSE will hide the Address control
85
+    public $streetViewAddressPosition = ''; // The position of the Address control, eg. 'BOTTOM'
86
+    public $streetViewControlPosition = ''; // The position of the Street View control when viewing normal aerial map, eg. 'BOTTOM_RIGHT'
87
+    public $streetViewCloseButton = false; // If set to TRUE will show the close button in the top right. The close button allows users to return to the aerial map
88
+    public $streetViewLinksControl = true; // If set to FALSE will hide the Links control
89
+    public $streetViewPanControl = true; // If set to FALSE will hide the Pan control
90
+    public $streetViewPanPosition = ''; // The position of the Scale control, eg. 'TOP_RIGHT'
91
+    public $streetViewPovHeading = 0; // The Street View camera heading in degrees relative to true north. True north is 0, east is 90, south is 180, west is 270
92
+    public $streetViewPovPitch = 0; // The Street View camera pitch in degrees, relative to the street view vehicle. Directly upwards is 90, Directly downwards is -90.
93
+    public $streetViewPovZoom = 0; // The Street View zoom level. Fully zoomed-out is level 0, zooming in increases the zoom level.
94
+    public $streetViewZoomControl = true; // If set to FALSE will hide the Zoom control
95
+    public $streetViewZoomPosition = ''; // The position of the Scale control, eg. 'TOP_RIGHT'
96
+    public $streetViewZoomStyle = ''; // The size of the Street View zoom control. blank, 'SMALL' or 'LARGE' values accepted.
97
+    public $styles = array(); // An array of styles used to colour aspects of the map and turn points of interest on and off
98
+    public $stylesAsMapTypes = false; // If applying styles, whether to apply them to the default map or add them as additional map types
99
+    public $stylesAsMapTypesDefault = ''; // If $stylesAsMapTypes is true the default style. Should contain the 'Name' of the style
100 100
     public $tiledOverlayLayers = [];
101
-    public $tilt = 0;                        // The angle of tilt. Currently only supports the values 0 and 45 in SATELLITE and HYBRID map types and at certain zoom levels
102
-    public $trafficOverlay = false;                    // If set to TRUE will overlay traffic information onto the map by default
103
-    public $version = "3";                        // Version of the API being used. Not currently used in the library
104
-    public $zoom = 13;                        // The default zoom level of the map. If set to "auto" will autozoom/center to fit in all visible markers. If "auto", also overrides the $center parameter
105
-    public $zoomControlPosition = '';                        // The position of the Zoom control, eg. 'BOTTOM_RIGHT'
106
-    public $zoomControlStyle = '';                        // The size of the zoom control. blank, 'SMALL' or 'LARGE' values accepted.
107
-
108
-    public $markers = array();                    // An array used by the library to store the markers as they are produced
109
-    public $markersInfo = array();                    // An array containing marker information (id, latitude, longitude etc) for use elsewhere
110
-    public $polylines = array();                    // An array used by the library to store the polylines as they are produced
111
-    public $polygons = array();                    // An array used by the library to store the polygons as they are produced
112
-    public $circles = array();                    // An array used by the library to store the circles as they are produced
113
-    public $rectangles = array();                    // An array used by the library to store the rectangles as they are produced
114
-    public $overlays = array();                    // An array used by the library to store the overlays as they are produced
115
-
116
-    public $directions = false;                    // Whether or not the map will be used to show directions
117
-    public $directionsStart = "";                        // The starting location (lat/long co-ordinate or address) of the directions. Set to 'auto' to default it to the users location
118
-    public $directionsEnd = "";                        // The destination point (lat/long co-ordinate or address) of the directions. Set to 'auto' to default it to the users location
119
-    public $directionsDivID = "";                        // An element's ID on the page where textual directions will be output to. Leave blank if not required
120
-    public $directionsMode = "DRIVING";                // DRIVING, WALKING or BICYCLING (US Only) - The vehicle/mode of transport to show directions for
121
-    public $directionsAvoidTolls = false;                    // Whether or not directions should avoid tolls
122
-    public $directionsAvoidHighways = false;                    // Whether or not directions should avoid highways
123
-    public $directionsDraggable = false;                    // Whether or not directions on the map are draggable
124
-    public $directionsChanged = "";                        // JavaScript to perform when directions are dragged
125
-    public $directionsUnits = "";                        // 'metric' for kilometers and meters or 'imperial for miles and feet. Leave blank and it will default to the region or country of where directions are being obtained
126
-    public $directionsWaypointArray = array();                    // An array of waypoints. eg array("Boston, MA", "Times Square, NY");
127
-    public $directionsWaypointsOptimize = false;                    // Should the waypoints be optimised? If TRUE, waypoints will be re-ordered to provide the most efficient route.
128
-
129
-    public $drawing = false;                    // Whether or not the drawing library tools will be loaded
130
-    public $drawingControl = true;                        // If set to FALSE will hide the Drawing Manager control
131
-    public $drawingControlPosition = 'TOP_CENTER';                // The position of the Drawing Manager control, eg. 'TOP_RIGHT'
132
-    public $drawingDefaultMode = 'marker';                    // The default mode for the Drawing Manager. Accepted values are marker, polygon, polyline, rectangle, circle, or null. null means that the user can interact with the map as normal when the map loads, and clicks do not draw anything.
133
-    public $drawingModes = array();                    // An array of modes available for use. Accepted values are marker, polygon, polyline, rectangle, circle
134
-    public $drawingOnComplete = array();                    // An array of JS to execute when shapes are completed, one array element per shape. For example: array('circle'=>'JS here', 'polygon'=>'JS here');
135
-    public $drawingOnEdit = array();                    // An array of JS to execute when shapes are changed/resized, one array element per shape. For example: array('circle'=>'JS here', 'polygon'=>'JS here');
136
-
137
-    public $places = false;                    // Whether or not the map will be used to show places
138
-    public $placesLocation = '';                        // A point (lat/long co-ordinate or address) on the map if the search for places is based around a central point
139
-    public $placesRadius = 0;                        // The radius (in meters) if search is based around a central position
140
-    public $placesLocationSW = '';                        // If preferring to search within bounds the South-West position (latitude/longitude coordinate OR address)
141
-    public $placesLocationNE = '';                        // If preferring to search within bounds the North-East position (latitude/longitude coordinate OR address)
142
-    public $placesTypes = array();                    // The types of places to search for. For a list of supported types see http://code.google.com/apis/maps/documentation/places/supported_types.html
143
-    public $placesName = '';                        // A term to be matched against when searching for places to display on the map
144
-    public $placesAutocompleteInputID = '';                        // The ID attribute of the textfield that the autocomplete should effect
145
-    public $placesAutocompleteTypes = array();                    // The types of places for the autocomplete to return. Options can be seen here https://developers.google.com/maps/documentation/javascript/places#places_autocomplete but include 'establishment' to only return business results, '(cities)', or '(regions)'
146
-    public $placesAutocompleteBoundSW = '';                        // By specifying an area in which to search for Places, the results are biased towards, but not restricted to, Places contained within these bounds.
147
-    public $placesAutocompleteBoundNE = '';                        // Both South-West (lat/long co-ordinate or address) and North-East (lat/long co-ordinate or address) values are required if wishing to set bounds
148
-    public $placesAutocompleteBoundsMap = false;                    // An alternative to setting the SW and NE bounds is to use the bounds of the current viewport. If set to TRUE, the bounds will be set to the viewport of the visible map, even if dragged or zoomed
149
-    public $placesAutocompleteOnChange = '';                        // The JavaScript action to perform when a place is selected
150
-    public $gestureHandling = 'auto';                                // Controls the panning and scrolling behavior of a map when viewed on a mobile device. greedy(allways moves on touch), cooperative(1 finger scroll 2 finger move), none(not pannable or pinchable), auto
101
+    public $tilt = 0; // The angle of tilt. Currently only supports the values 0 and 45 in SATELLITE and HYBRID map types and at certain zoom levels
102
+    public $trafficOverlay = false; // If set to TRUE will overlay traffic information onto the map by default
103
+    public $version = "3"; // Version of the API being used. Not currently used in the library
104
+    public $zoom = 13; // The default zoom level of the map. If set to "auto" will autozoom/center to fit in all visible markers. If "auto", also overrides the $center parameter
105
+    public $zoomControlPosition = ''; // The position of the Zoom control, eg. 'BOTTOM_RIGHT'
106
+    public $zoomControlStyle = ''; // The size of the zoom control. blank, 'SMALL' or 'LARGE' values accepted.
107
+
108
+    public $markers = array(); // An array used by the library to store the markers as they are produced
109
+    public $markersInfo = array(); // An array containing marker information (id, latitude, longitude etc) for use elsewhere
110
+    public $polylines = array(); // An array used by the library to store the polylines as they are produced
111
+    public $polygons = array(); // An array used by the library to store the polygons as they are produced
112
+    public $circles = array(); // An array used by the library to store the circles as they are produced
113
+    public $rectangles = array(); // An array used by the library to store the rectangles as they are produced
114
+    public $overlays = array(); // An array used by the library to store the overlays as they are produced
115
+
116
+    public $directions = false; // Whether or not the map will be used to show directions
117
+    public $directionsStart = ""; // The starting location (lat/long co-ordinate or address) of the directions. Set to 'auto' to default it to the users location
118
+    public $directionsEnd = ""; // The destination point (lat/long co-ordinate or address) of the directions. Set to 'auto' to default it to the users location
119
+    public $directionsDivID = ""; // An element's ID on the page where textual directions will be output to. Leave blank if not required
120
+    public $directionsMode = "DRIVING"; // DRIVING, WALKING or BICYCLING (US Only) - The vehicle/mode of transport to show directions for
121
+    public $directionsAvoidTolls = false; // Whether or not directions should avoid tolls
122
+    public $directionsAvoidHighways = false; // Whether or not directions should avoid highways
123
+    public $directionsDraggable = false; // Whether or not directions on the map are draggable
124
+    public $directionsChanged = ""; // JavaScript to perform when directions are dragged
125
+    public $directionsUnits = ""; // 'metric' for kilometers and meters or 'imperial for miles and feet. Leave blank and it will default to the region or country of where directions are being obtained
126
+    public $directionsWaypointArray = array(); // An array of waypoints. eg array("Boston, MA", "Times Square, NY");
127
+    public $directionsWaypointsOptimize = false; // Should the waypoints be optimised? If TRUE, waypoints will be re-ordered to provide the most efficient route.
128
+
129
+    public $drawing = false; // Whether or not the drawing library tools will be loaded
130
+    public $drawingControl = true; // If set to FALSE will hide the Drawing Manager control
131
+    public $drawingControlPosition = 'TOP_CENTER'; // The position of the Drawing Manager control, eg. 'TOP_RIGHT'
132
+    public $drawingDefaultMode = 'marker'; // The default mode for the Drawing Manager. Accepted values are marker, polygon, polyline, rectangle, circle, or null. null means that the user can interact with the map as normal when the map loads, and clicks do not draw anything.
133
+    public $drawingModes = array(); // An array of modes available for use. Accepted values are marker, polygon, polyline, rectangle, circle
134
+    public $drawingOnComplete = array(); // An array of JS to execute when shapes are completed, one array element per shape. For example: array('circle'=>'JS here', 'polygon'=>'JS here');
135
+    public $drawingOnEdit = array(); // An array of JS to execute when shapes are changed/resized, one array element per shape. For example: array('circle'=>'JS here', 'polygon'=>'JS here');
136
+
137
+    public $places = false; // Whether or not the map will be used to show places
138
+    public $placesLocation = ''; // A point (lat/long co-ordinate or address) on the map if the search for places is based around a central point
139
+    public $placesRadius = 0; // The radius (in meters) if search is based around a central position
140
+    public $placesLocationSW = ''; // If preferring to search within bounds the South-West position (latitude/longitude coordinate OR address)
141
+    public $placesLocationNE = ''; // If preferring to search within bounds the North-East position (latitude/longitude coordinate OR address)
142
+    public $placesTypes = array(); // The types of places to search for. For a list of supported types see http://code.google.com/apis/maps/documentation/places/supported_types.html
143
+    public $placesName = ''; // A term to be matched against when searching for places to display on the map
144
+    public $placesAutocompleteInputID = ''; // The ID attribute of the textfield that the autocomplete should effect
145
+    public $placesAutocompleteTypes = array(); // The types of places for the autocomplete to return. Options can be seen here https://developers.google.com/maps/documentation/javascript/places#places_autocomplete but include 'establishment' to only return business results, '(cities)', or '(regions)'
146
+    public $placesAutocompleteBoundSW = ''; // By specifying an area in which to search for Places, the results are biased towards, but not restricted to, Places contained within these bounds.
147
+    public $placesAutocompleteBoundNE = ''; // Both South-West (lat/long co-ordinate or address) and North-East (lat/long co-ordinate or address) values are required if wishing to set bounds
148
+    public $placesAutocompleteBoundsMap = false; // An alternative to setting the SW and NE bounds is to use the bounds of the current viewport. If set to TRUE, the bounds will be set to the viewport of the visible map, even if dragged or zoomed
149
+    public $placesAutocompleteOnChange = ''; // The JavaScript action to perform when a place is selected
150
+    public $gestureHandling = 'auto'; // Controls the panning and scrolling behavior of a map when viewed on a mobile device. greedy(allways moves on touch), cooperative(1 finger scroll 2 finger move), none(not pannable or pinchable), auto
151 151
 
152 152
 
153 153
     public function __construct($config = array())
@@ -162,7 +162,7 @@  discard block
 block discarded – undo
162 162
     public function create($center)
163 163
     {
164 164
         $gmapsConfig = [];
165
-        $gmapsConfig['center'] = $center->latitude . ', ' . $center->longitude;
165
+        $gmapsConfig['center'] = $center->latitude.', '.$center->longitude;
166 166
         $gmapsConfig['onboundschanged'] = "if ((typeof centreGot === 'undefined') || !centreGot) {
167 167
             var mapCentre = map.getCenter();
168 168
             marker_0.setOptions({
@@ -172,7 +172,7 @@  discard block
 block discarded – undo
172 172
         centreGot = true;";
173 173
         $this->initialize($gmapsConfig);
174 174
         $gmapsMarker = [];
175
-        $gmapsMarker['position'] = $center->latitude . ', ' . $center->longitude;
175
+        $gmapsMarker['position'] = $center->latitude.', '.$center->longitude;
176 176
         $gmapsMarker['animation'] = 'DROP';
177 177
         $gmapsMarker['highlightBackgroundColor'] = 'ff0000';
178 178
         $this->add_marker($gmapsMarker);
@@ -196,7 +196,7 @@  discard block
 block discarded – undo
196 196
         float $latBottomRight,
197 197
         float $longBottomRight
198 198
     ) {
199
-        if (! $tileOverlayFolderUrl) {
199
+        if (!$tileOverlayFolderUrl) {
200 200
             return;
201 201
         }
202 202
 
@@ -241,40 +241,40 @@  discard block
 block discarded – undo
241 241
         $marker = array();
242 242
         $this->markersInfo['marker_'.count($this->markers)] = array();
243 243
 
244
-        $marker['position'] = '';                                // The position (lat/long co-ordinate or address) at which the marker will appear
245
-        $marker['infowindow_content'] = '';                        // If not blank, creates an infowindow (aka bubble) with the content provided. Can be plain text or HTML
246
-        $marker['id'] = '';                                        // The unique identifier of the marker suffix (ie. marker_yourID). If blank, this will default to marker_X where X is an incremental number
247
-        $marker['clickable'] = true;                            // Defines if the marker is clickable
248
-        $marker['cursor'] = '';                                    // The name or url of the cursor to display on hover
249
-        $marker['draggable'] = false;                            // Defines if the marker is draggable
250
-        $marker['flat'] = false;                                // If set to TRUE will not display a shadow beneath the icon
251
-        $marker['icon'] = '';                                    // The name or url of the icon to use for the marker
252
-        $marker['icon_size'] = '';                                // The display size of the sprite or image being used. When using sprites, you must specify the sprite size. Expecting two comma-separated values for width and height respectively (ie '20,30'). See https://developers.google.com/maps/documentation/javascript/3.exp/reference#Icon
253
-        $marker['icon_scaledSize'] = '';                        // The size of the entire image after scaling, if any. Use this property to stretch/shrink an image or a sprite. Expecting two comma-separated values for width and height respectively (ie '20,30')
254
-        $marker['icon_origin'] = '';                            // If using a sprite, the position of the image within the sprite. Expecting two comma-separated values for distance from the top and left respectively (ie '20,30')
255
-        $marker['icon_anchor'] = '';                            // The position at which to anchor an image in correspondance to the location of the marker on the map. By default, the anchor is located along the center point of the bottom of the image. Expecting two comma-separated values (ie '20,30'). Credit to https://github.com/colethorsen
256
-        $marker['animation'] = '';                                // blank, 'DROP' or 'BOUNCE'
257
-        $marker['onclick'] = '';                                // JavaScript performed when a marker is clicked
258
-        $marker['ondblclick'] = '';                                // JavaScript performed when a marker is double-clicked
259
-        $marker['ondrag'] = '';                                    // JavaScript repeatedly performed while the marker is being dragged
260
-        $marker['ondragstart'] = '';                            // JavaScript performed when a marker is started to be dragged
261
-        $marker['ondragend'] = '';                                // JavaScript performed when a draggable marker is dropped
262
-        $marker['onmousedown'] = '';                            // JavaScript performed when a mousedown event occurs on a marker
263
-        $marker['onmouseout'] = '';                                // JavaScript performed when the mouse leaves the area of the marker icon
264
-        $marker['onmouseover'] = '';                            // JavaScript performed when the mouse enters the area of the marker icon
265
-        $marker['onmouseup'] = '';                                // JavaScript performed when a mouseup event occurs on a marker
266
-        $marker['onpositionchanged'] = '';                        // JavaScript performed when the markers position changes
267
-        $marker['onrightclick'] = '';                            // JavaScript performed when a right-click occurs on a marker
268
-        $marker['raiseondrag'] = true;                            // If FALSE, disables the raising and lowering of the icon when a marker is being dragged
269
-        $marker['shadow'] = '';                                    // The name or url of the icon's shadow
270
-        $marker['title'] = '';                                    // The tooltip text to show on hover
271
-        $marker['visible'] = true;                                // Defines if the marker is visible by default
272
-        $marker['zIndex'] = '';                                    // The zIndex of the marker. If two markers overlap, the marker with the higher zIndex will appear on top
273
-        $marker['label'] = '';                                    // The label of the marker.
274
-        $marker['label_color'] = '';                              // The color of the label text. Default color is black.
275
-        $marker['label_fontSize'] = '';                           // The font family of the label text (equivalent to the CSS font-family property).
276
-        $marker['label_fontFamily'] = '';                         // The font size of the label text (equivalent to the CSS font-size property). Default size is 14px.
277
-        $marker['label_fontWeight'] = '';                         // The font weight of the label text (equivalent to the CSS font-weight property).
244
+        $marker['position'] = ''; // The position (lat/long co-ordinate or address) at which the marker will appear
245
+        $marker['infowindow_content'] = ''; // If not blank, creates an infowindow (aka bubble) with the content provided. Can be plain text or HTML
246
+        $marker['id'] = ''; // The unique identifier of the marker suffix (ie. marker_yourID). If blank, this will default to marker_X where X is an incremental number
247
+        $marker['clickable'] = true; // Defines if the marker is clickable
248
+        $marker['cursor'] = ''; // The name or url of the cursor to display on hover
249
+        $marker['draggable'] = false; // Defines if the marker is draggable
250
+        $marker['flat'] = false; // If set to TRUE will not display a shadow beneath the icon
251
+        $marker['icon'] = ''; // The name or url of the icon to use for the marker
252
+        $marker['icon_size'] = ''; // The display size of the sprite or image being used. When using sprites, you must specify the sprite size. Expecting two comma-separated values for width and height respectively (ie '20,30'). See https://developers.google.com/maps/documentation/javascript/3.exp/reference#Icon
253
+        $marker['icon_scaledSize'] = ''; // The size of the entire image after scaling, if any. Use this property to stretch/shrink an image or a sprite. Expecting two comma-separated values for width and height respectively (ie '20,30')
254
+        $marker['icon_origin'] = ''; // If using a sprite, the position of the image within the sprite. Expecting two comma-separated values for distance from the top and left respectively (ie '20,30')
255
+        $marker['icon_anchor'] = ''; // The position at which to anchor an image in correspondance to the location of the marker on the map. By default, the anchor is located along the center point of the bottom of the image. Expecting two comma-separated values (ie '20,30'). Credit to https://github.com/colethorsen
256
+        $marker['animation'] = ''; // blank, 'DROP' or 'BOUNCE'
257
+        $marker['onclick'] = ''; // JavaScript performed when a marker is clicked
258
+        $marker['ondblclick'] = ''; // JavaScript performed when a marker is double-clicked
259
+        $marker['ondrag'] = ''; // JavaScript repeatedly performed while the marker is being dragged
260
+        $marker['ondragstart'] = ''; // JavaScript performed when a marker is started to be dragged
261
+        $marker['ondragend'] = ''; // JavaScript performed when a draggable marker is dropped
262
+        $marker['onmousedown'] = ''; // JavaScript performed when a mousedown event occurs on a marker
263
+        $marker['onmouseout'] = ''; // JavaScript performed when the mouse leaves the area of the marker icon
264
+        $marker['onmouseover'] = ''; // JavaScript performed when the mouse enters the area of the marker icon
265
+        $marker['onmouseup'] = ''; // JavaScript performed when a mouseup event occurs on a marker
266
+        $marker['onpositionchanged'] = ''; // JavaScript performed when the markers position changes
267
+        $marker['onrightclick'] = ''; // JavaScript performed when a right-click occurs on a marker
268
+        $marker['raiseondrag'] = true; // If FALSE, disables the raising and lowering of the icon when a marker is being dragged
269
+        $marker['shadow'] = ''; // The name or url of the icon's shadow
270
+        $marker['title'] = ''; // The tooltip text to show on hover
271
+        $marker['visible'] = true; // Defines if the marker is visible by default
272
+        $marker['zIndex'] = ''; // The zIndex of the marker. If two markers overlap, the marker with the higher zIndex will appear on top
273
+        $marker['label'] = ''; // The label of the marker.
274
+        $marker['label_color'] = ''; // The color of the label text. Default color is black.
275
+        $marker['label_fontSize'] = ''; // The font family of the label text (equivalent to the CSS font-family property).
276
+        $marker['label_fontFamily'] = ''; // The font size of the label text (equivalent to the CSS font-size property). Default size is 14px.
277
+        $marker['label_fontWeight'] = ''; // The font weight of the label text (equivalent to the CSS font-weight property).
278 278
 
279 279
         $marker_output = '';
280 280
 
@@ -511,20 +511,20 @@  discard block
 block discarded – undo
511 511
     {
512 512
         $polyline = array();
513 513
 
514
-        $polyline['points'] = array();                            // An array of latitude/longitude coordinates OR addresses, or a mixture of both. If an address is supplied the Google geocoding service will be used to return a lat/long.
515
-        $polyline['clickable'] = true;                            // Defines if the polyline is clickable
516
-        $polyline['strokeColor'] = '#FF0000';                    // The hex value of the polylines color
517
-        $polyline['strokeOpacity'] = '1.0';                        // The opacity of the polyline. 0 to 1.0
518
-        $polyline['strokeWeight'] = '2';                        // The thickness of the polyline
519
-        $polyline['onclick'] = '';                                // JavaScript performed when a polyline is clicked
520
-        $polyline['ondblclick'] = '';                            // JavaScript performed when a polyline is double-clicked
521
-        $polyline['onmousedown'] = '';                            // JavaScript performed when a mousedown event occurs on a polyline
522
-        $polyline['onmousemove'] = '';                            // JavaScript performed when the mouse moves in the area of the polyline
523
-        $polyline['onmouseout'] = '';                            // JavaScript performed when the mouse leaves the area of the polyline
524
-        $polyline['onmouseover'] = '';                            // JavaScript performed when the mouse enters the area of the polyline
525
-        $polyline['onmouseup'] = '';                            // JavaScript performed when a mouseup event occurs on a polyline
526
-        $polyline['onrightclick'] = '';                            // JavaScript performed when a right-click occurs on a polyline
527
-        $polyline['zIndex'] = '';                                // The zIndex of the polyline. If two polylines overlap, the polyline with the higher zIndex will appear on top
514
+        $polyline['points'] = array(); // An array of latitude/longitude coordinates OR addresses, or a mixture of both. If an address is supplied the Google geocoding service will be used to return a lat/long.
515
+        $polyline['clickable'] = true; // Defines if the polyline is clickable
516
+        $polyline['strokeColor'] = '#FF0000'; // The hex value of the polylines color
517
+        $polyline['strokeOpacity'] = '1.0'; // The opacity of the polyline. 0 to 1.0
518
+        $polyline['strokeWeight'] = '2'; // The thickness of the polyline
519
+        $polyline['onclick'] = ''; // JavaScript performed when a polyline is clicked
520
+        $polyline['ondblclick'] = ''; // JavaScript performed when a polyline is double-clicked
521
+        $polyline['onmousedown'] = ''; // JavaScript performed when a mousedown event occurs on a polyline
522
+        $polyline['onmousemove'] = ''; // JavaScript performed when the mouse moves in the area of the polyline
523
+        $polyline['onmouseout'] = ''; // JavaScript performed when the mouse leaves the area of the polyline
524
+        $polyline['onmouseover'] = ''; // JavaScript performed when the mouse enters the area of the polyline
525
+        $polyline['onmouseup'] = ''; // JavaScript performed when a mouseup event occurs on a polyline
526
+        $polyline['onrightclick'] = ''; // JavaScript performed when a right-click occurs on a polyline
527
+        $polyline['zIndex'] = ''; // The zIndex of the polyline. If two polylines overlap, the polyline with the higher zIndex will appear on top
528 528
 
529 529
         $polyline_output = '';
530 530
 
@@ -650,22 +650,22 @@  discard block
 block discarded – undo
650 650
     {
651 651
         $polygon = array();
652 652
 
653
-        $polygon['points'] = array();                            // The positions (latitude/longitude coordinates OR addresses) at which the polygon points will appear. NOTE: The first and last elements of the array must be the same
654
-        $polygon['clickable'] = true;                            // Defines if the polygon is clickable
655
-        $polygon['strokeColor'] = '#FF0000';                    // The hex value of the polygons border color
656
-        $polygon['strokeOpacity'] = '0.8';                        // The opacity of the polygon border. 0 to 1.0
657
-        $polygon['strokeWeight'] = '2';                            // The thickness of the polygon border
658
-        $polygon['fillColor'] = '#FF0000';                        // The hex value of the polygons fill color
659
-        $polygon['fillOpacity'] = '0.3';                        // The opacity of the polygons fill
660
-        $polygon['onclick'] = '';                                // JavaScript performed when a polygon is clicked
661
-        $polygon['ondblclick'] = '';                            // JavaScript performed when a polygon is double-clicked
662
-        $polygon['onmousedown'] = '';                            // JavaScript performed when a mousedown event occurs on a polygon
663
-        $polygon['onmousemove'] = '';                            // JavaScript performed when the mouse moves in the area of the polygon
664
-        $polygon['onmouseout'] = '';                            // JavaScript performed when the mouse leaves the area of the polygon
665
-        $polygon['onmouseover'] = '';                            // JavaScript performed when the mouse enters the area of the polygon
666
-        $polygon['onmouseup'] = '';                                // JavaScript performed when a mouseup event occurs on a polygon
667
-        $polygon['onrightclick'] = '';                            // JavaScript performed when a right-click occurs on a polygon
668
-        $polygon['zIndex'] = '';                                // The zIndex of the polygon. If two polygons overlap, the polygon with the higher zIndex will appear on top
653
+        $polygon['points'] = array(); // The positions (latitude/longitude coordinates OR addresses) at which the polygon points will appear. NOTE: The first and last elements of the array must be the same
654
+        $polygon['clickable'] = true; // Defines if the polygon is clickable
655
+        $polygon['strokeColor'] = '#FF0000'; // The hex value of the polygons border color
656
+        $polygon['strokeOpacity'] = '0.8'; // The opacity of the polygon border. 0 to 1.0
657
+        $polygon['strokeWeight'] = '2'; // The thickness of the polygon border
658
+        $polygon['fillColor'] = '#FF0000'; // The hex value of the polygons fill color
659
+        $polygon['fillOpacity'] = '0.3'; // The opacity of the polygons fill
660
+        $polygon['onclick'] = ''; // JavaScript performed when a polygon is clicked
661
+        $polygon['ondblclick'] = ''; // JavaScript performed when a polygon is double-clicked
662
+        $polygon['onmousedown'] = ''; // JavaScript performed when a mousedown event occurs on a polygon
663
+        $polygon['onmousemove'] = ''; // JavaScript performed when the mouse moves in the area of the polygon
664
+        $polygon['onmouseout'] = ''; // JavaScript performed when the mouse leaves the area of the polygon
665
+        $polygon['onmouseover'] = ''; // JavaScript performed when the mouse enters the area of the polygon
666
+        $polygon['onmouseup'] = ''; // JavaScript performed when a mouseup event occurs on a polygon
667
+        $polygon['onrightclick'] = ''; // JavaScript performed when a right-click occurs on a polygon
668
+        $polygon['zIndex'] = ''; // The zIndex of the polygon. If two polygons overlap, the polygon with the higher zIndex will appear on top
669 669
 
670 670
         $polygon_output = '';
671 671
 
@@ -798,23 +798,23 @@  discard block
 block discarded – undo
798 798
     {
799 799
         $circle = array();
800 800
 
801
-        $circle['center'] = '';                                    // The center position (latitude/longitude coordinate OR addresse) at which the circle will appear
802
-        $circle['clickable'] = true;                            // Defines if the circle is clickable
803
-        $circle['radius'] = 0;                                    // The circle radius (in metres)
804
-        $circle['strokeColor'] = '0.8';                            // The hex value of the circles border color
805
-        $circle['strokeOpacity'] = '0.8';                        // The opacity of the circle border
806
-        $circle['strokeWeight'] = '2';                            // The thickness of the circle border
807
-        $circle['fillColor'] = '#FF0000';                        // The hex value of the circles fill color
808
-        $circle['fillOpacity'] = '0.3';                            // The opacity of the circles fill
809
-        $circle['onclick'] = '';                                // JavaScript performed when a circle is clicked
810
-        $circle['ondblclick'] = '';                                // JavaScript performed when a circle is double-clicked
811
-        $circle['onmousedown'] = '';                            // JavaScript performed when a mousedown event occurs on a circle
812
-        $circle['onmousemove'] = '';                            // JavaScript performed when the mouse moves in the area of the circle
813
-        $circle['onmouseout'] = '';                                // JavaScript performed when the mouse leaves the area of the circle
814
-        $circle['onmouseover'] = '';                            // JavaScript performed when the mouse enters the area of the circle
815
-        $circle['onmouseup'] = '';                                // JavaScript performed when a mouseup event occurs on a circle
816
-        $circle['onrightclick'] = '';                            // JavaScript performed when a right-click occurs on a circle
817
-        $circle['zIndex'] = '';                                    // The zIndex of the circle. If two circles overlap, the circle with the higher zIndex will appear on top
801
+        $circle['center'] = ''; // The center position (latitude/longitude coordinate OR addresse) at which the circle will appear
802
+        $circle['clickable'] = true; // Defines if the circle is clickable
803
+        $circle['radius'] = 0; // The circle radius (in metres)
804
+        $circle['strokeColor'] = '0.8'; // The hex value of the circles border color
805
+        $circle['strokeOpacity'] = '0.8'; // The opacity of the circle border
806
+        $circle['strokeWeight'] = '2'; // The thickness of the circle border
807
+        $circle['fillColor'] = '#FF0000'; // The hex value of the circles fill color
808
+        $circle['fillOpacity'] = '0.3'; // The opacity of the circles fill
809
+        $circle['onclick'] = ''; // JavaScript performed when a circle is clicked
810
+        $circle['ondblclick'] = ''; // JavaScript performed when a circle is double-clicked
811
+        $circle['onmousedown'] = ''; // JavaScript performed when a mousedown event occurs on a circle
812
+        $circle['onmousemove'] = ''; // JavaScript performed when the mouse moves in the area of the circle
813
+        $circle['onmouseout'] = ''; // JavaScript performed when the mouse leaves the area of the circle
814
+        $circle['onmouseover'] = ''; // JavaScript performed when the mouse enters the area of the circle
815
+        $circle['onmouseup'] = ''; // JavaScript performed when a mouseup event occurs on a circle
816
+        $circle['onrightclick'] = ''; // JavaScript performed when a right-click occurs on a circle
817
+        $circle['zIndex'] = ''; // The zIndex of the circle. If two circles overlap, the circle with the higher zIndex will appear on top
818 818
 
819 819
         $circle_output = '';
820 820
 
@@ -929,23 +929,23 @@  discard block
 block discarded – undo
929 929
     {
930 930
         $rectangle = array();
931 931
 
932
-        $rectangle['positionSW'] = '';                            // The South-West position (latitude/longitude coordinate OR address) at which the rectangle will appear
933
-        $rectangle['positionNE'] = '';                            // The North-East position(latitude/longitude coordinate OR address) at which the rectangle will appear
934
-        $rectangle['clickable'] = true;                            // Defines if the rectangle is clickable
935
-        $rectangle['strokeColor'] = '0.8';                        // The hex value of the rectangles border color
936
-        $rectangle['strokeOpacity'] = '0.8';                    // The opacity of the rectangle border
937
-        $rectangle['strokeWeight'] = '2';                        // The thickness of the rectangle border
938
-        $rectangle['fillColor'] = '#FF0000';                    // The hex value of the rectangles fill color
939
-        $rectangle['fillOpacity'] = '0.3';                        // The opacity of the rectangles fill
940
-        $rectangle['onclick'] = '';                                // JavaScript performed when a rectangle is clicked
941
-        $rectangle['ondblclick'] = '';                            // JavaScript performed when a rectangle is double-clicked
942
-        $rectangle['onmousedown'] = '';                            // JavaScript performed when a mousedown event occurs on a rectangle
943
-        $rectangle['onmousemove'] = '';                            // JavaScript performed when the mouse moves in the area of the rectangle
944
-        $rectangle['onmouseout'] = '';                            // JavaScript performed when the mouse leaves the area of the rectangle
945
-        $rectangle['onmouseover'] = '';                            // JavaScript performed when the mouse enters the area of the rectangle
946
-        $rectangle['onmouseup'] = '';                            // JavaScript performed when a mouseup event occurs on a rectangle
947
-        $rectangle['onrightclick'] = '';                        // JavaScript performed when a right-click occurs on a rectangle
948
-        $rectangle['zIndex'] = '';                                // The zIndex of the rectangle. If two rectangles overlap, the rectangle with the higher zIndex will appear on top
932
+        $rectangle['positionSW'] = ''; // The South-West position (latitude/longitude coordinate OR address) at which the rectangle will appear
933
+        $rectangle['positionNE'] = ''; // The North-East position(latitude/longitude coordinate OR address) at which the rectangle will appear
934
+        $rectangle['clickable'] = true; // Defines if the rectangle is clickable
935
+        $rectangle['strokeColor'] = '0.8'; // The hex value of the rectangles border color
936
+        $rectangle['strokeOpacity'] = '0.8'; // The opacity of the rectangle border
937
+        $rectangle['strokeWeight'] = '2'; // The thickness of the rectangle border
938
+        $rectangle['fillColor'] = '#FF0000'; // The hex value of the rectangles fill color
939
+        $rectangle['fillOpacity'] = '0.3'; // The opacity of the rectangles fill
940
+        $rectangle['onclick'] = ''; // JavaScript performed when a rectangle is clicked
941
+        $rectangle['ondblclick'] = ''; // JavaScript performed when a rectangle is double-clicked
942
+        $rectangle['onmousedown'] = ''; // JavaScript performed when a mousedown event occurs on a rectangle
943
+        $rectangle['onmousemove'] = ''; // JavaScript performed when the mouse moves in the area of the rectangle
944
+        $rectangle['onmouseout'] = ''; // JavaScript performed when the mouse leaves the area of the rectangle
945
+        $rectangle['onmouseover'] = ''; // JavaScript performed when the mouse enters the area of the rectangle
946
+        $rectangle['onmouseup'] = ''; // JavaScript performed when a mouseup event occurs on a rectangle
947
+        $rectangle['onrightclick'] = ''; // JavaScript performed when a right-click occurs on a rectangle
948
+        $rectangle['zIndex'] = ''; // The zIndex of the rectangle. If two rectangles overlap, the rectangle with the higher zIndex will appear on top
949 949
 
950 950
         $rectangle_output = '';
951 951
 
@@ -1077,11 +1077,11 @@  discard block
 block discarded – undo
1077 1077
     {
1078 1078
         $overlay = array();
1079 1079
 
1080
-        $overlay['image'] = '';                                    // JavaScript performed when a ground overlay is clicked
1081
-        $overlay['positionSW'] = '';                            // The South-West position (latitude/longitude coordinate OR addresse) at which the ground overlay will appear
1082
-        $overlay['positionNE'] = '';                            // The North-East position (latitude/longitude coordinate OR addresse) at which the ground overlay will appear
1083
-        $overlay['clickable'] = true;                            // Defines if the ground overlay is clickable
1084
-        $overlay['onclick'] = '';                                // JavaScript performed when a ground overlay is clicked
1080
+        $overlay['image'] = ''; // JavaScript performed when a ground overlay is clicked
1081
+        $overlay['positionSW'] = ''; // The South-West position (latitude/longitude coordinate OR addresse) at which the ground overlay will appear
1082
+        $overlay['positionNE'] = ''; // The North-East position (latitude/longitude coordinate OR addresse) at which the ground overlay will appear
1083
+        $overlay['clickable'] = true; // Defines if the ground overlay is clickable
1084
+        $overlay['onclick'] = ''; // JavaScript performed when a ground overlay is clicked
1085 1085
 
1086 1086
         $overlay_output = '';
1087 1087
 
@@ -1294,9 +1294,9 @@  discard block
 block discarded – undo
1294 1294
             $this->output_js_contents .= '
1295 1295
 					center: myLatlng,';
1296 1296
         }
1297
-        if($this->gestureHandling != 'auto'){
1297
+        if ($this->gestureHandling != 'auto') {
1298 1298
             $this->output_js_contents .= '
1299
-                    gestureHandling: \''.$this->gestureHandling .'\',';
1299
+                    gestureHandling: \''.$this->gestureHandling.'\',';
1300 1300
         }
1301 1301
         if (strtolower($this->map_type) == "street") {
1302 1302
             $map_type = "ROADMAP";
@@ -1435,7 +1435,7 @@  discard block
 block discarded – undo
1435 1435
 
1436 1436
 
1437 1437
         $this->output_js_contents .= '};';
1438
-        $this->output_js_contents .= $this->map_name .' = new google.maps.Map(document.getElementById("'.$this->map_div_id.'"), myOptions);';
1438
+        $this->output_js_contents .= $this->map_name.' = new google.maps.Map(document.getElementById("'.$this->map_div_id.'"), myOptions);';
1439 1439
 
1440 1440
         if (count($this->tiledOverlayLayers)) {
1441 1441
             foreach ($this->tiledOverlayLayers as $index => $javascript) {
@@ -1936,14 +1936,14 @@  discard block
 block discarded – undo
1936 1936
                 $this->output_js_contents .= ',
1937 1937
 				styles: [ ';
1938 1938
                 $styleOutput = [];
1939
-                foreach($this->clusterStyles as $clusterStyle){
1940
-                    $attributes =[];
1941
-                    foreach($clusterStyle as $key => $style){
1939
+                foreach ($this->clusterStyles as $clusterStyle) {
1940
+                    $attributes = [];
1941
+                    foreach ($clusterStyle as $key => $style) {
1942 1942
                         $attributes[] = $key.':"'.$style.'"';
1943 1943
                     }
1944
-                    $styleOutput[] = '{'.implode(',',$attributes).'}';
1944
+                    $styleOutput[] = '{'.implode(',', $attributes).'}';
1945 1945
                 }
1946
-                $this->output_js_contents .= implode(',',$styleOutput);
1946
+                $this->output_js_contents .= implode(',', $styleOutput);
1947 1947
                 $this->output_js_contents .= ']';
1948 1948
             }
1949 1949
 
Please login to merge, or discard this patch.