PageSourceSearch

https://gortsevich.ru/wp-content/themes/gortsevich/assets/js/google-map.js?ver=1.0

js gortsevich.ru collected 2026-10-04 18:52:20 UTC 2,705 bytes, 157 lines download raw bytes

1(function($) {
2
3/*
4*  render_map
5*
6*  This function will render a Google Map onto the selected jQuery element
7*
8*  @type	function
9*  @date	8/11/2013
10*  @since	4.3.0
11*
12*  @param	$el (jQuery element)
13*  @return	n/a
14*/
15
16function render_map( $el ) {
17
18	// var
19	var $markers = $el.find('.marker');
20
21	// vars
22	var args = {
23		zoom		: 16,
24		center		: new google.maps.LatLng(0, 0),
25		mapTypeId	: google.maps.MapTypeId.ROADMAP
26	};
27
28	// create map	        	
29	var map = new google.maps.Map( $el[0], args);
30
31	// add a markers reference
32	map.markers = [];
33
34	// add markers
35	$markers.each(function(){
36
37    	add_marker( $(this), map );
38
39	});
40
41	// center map
42	center_map( map );
43
44}
45
46/*
47*  add_marker
48*
49*  This function will add a marker to the selected Google Map
50*
51*  @type	function
52*  @date	8/11/2013
53*  @since	4.3.0
54*
55*  @param	$marker (jQuery element)
56*  @param	map (Google Map object)
57*  @return	n/a
58*/
59
60function add_marker( $marker, map ) {
61
62	// var
63	var latlng = new google.maps.LatLng( $marker.attr('data-lat'), $marker.attr('data-lng') );
64
65	// create marker
66	var marker = new google.maps.Marker({
67		position	: latlng,
68		map			: map
69	});
70
71	// add to array
72	map.markers.push( marker );
73
74	// if marker contains HTML, add it to an infoWindow
75	if( $marker.html() )
76	{
77		// create info window
78		var infowindow = new google.maps.InfoWindow({
79			content		: $marker.html()
80		});
81
82		// show info window when marker is clicked
83		google.maps.event.addListener(marker, 'click', function() {
84
85			infowindow.open( map, marker );
86
87		});
88	}
89
90}
91
92/*
93*  center_map
94*
95*  This function will center the map, showing all markers attached to this map
96*
97*  @type	function
98*  @date	8/11/2013
99*  @since	4.3.0
100*
101*  @param	map (Google Map object)
102*  @return	n/a
103*/
104
105function center_map( map ) {
106
107	// vars
108	var bounds = new google.maps.LatLngBounds();
109
110	// loop through all markers and create bounds
111	$.each( map.markers, function( i, marker ){
112
113		var latlng = new google.maps.LatLng( marker.position.lat(), marker.position.lng() );
114
115		bounds.extend( latlng );
116
117	});
118
119	// only 1 marker?
120	if( map.markers.length == 1 )
121	{
122		// set center of map
123	    map.setCenter( bounds.getCenter() );
124	    map.setZoom( 16 );
125	}
126	else
127	{
128		// fit to bounds
129		map.fitBounds( bounds );
130	}
131
132}
133
134/*
135*  document ready
136*
137*  This function will render each map when the document is ready (page has loaded)
138*
139*  @type	function
140*  @date	8/11/2013
141*  @since	5.0.0
142*
143*  @param	n/a
144*  @return	n/a
145*/
146
147$(document).ready(function(){
148
149	$('.is-google-map').each(function(){
150
151		render_map( $(this) );
152
153	});
154
155});
156
157})(jQuery);

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.