%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/ceaa/wp-content/plugins/wp-events-manager/assets/js/frontend/
Upload File :
Create Path :
Current File : /var/www/html/ceaa/wp-content/plugins/wp-events-manager/assets/js/frontend/google-map.js

/**
 * (c) Greg Priday, freely distributable under the terms of the GPL 2.0 license.
 */

function event_loadMap($) {
	$('.event-google-map-canvas').each(function () {
		var $$ = $(this);
		// We use the ob_geocoder
		var ob_geocoder = new google.maps.Geocoder();
		ob_geocoder.geocode({'address': $$.data('address')}, function (results, status) {
			if (status == google.maps.GeocoderStatus.OK) {
				var zoom = Number($$.data('zoom'));
				if (!zoom) zoom = 14;
				var userMapTypeId = 'user_map_style';
				var mapOptions = {
					zoom                 : zoom,
					scrollwheel          : Boolean($$.data('scroll-zoom')),
					//   draggable: Boolean( $$.data('draggable') ),
					center               : results[0].geometry.location,
					mapTypeControlOptions: {
						mapTypeIds: [google.maps.MapTypeId.ROADMAP, userMapTypeId]
					}
				};

				var map = new google.maps.Map($$.get(0), mapOptions);

				var userMapOptions = {
					name: $$.data('map-name')
				};

				var userMapStyles = $$.data('map-styles');

				if (userMapStyles) {
					var userMapType = new google.maps.StyledMapType(userMapStyles, userMapOptions);

					map.mapTypes.set(userMapTypeId, userMapType);
					map.setMapTypeId(userMapTypeId);
				}

				if (Boolean($$.data('marker-at-center'))) {

					new google.maps.Marker({
						position: results[0].geometry.location,
						map     : map,
						//  draggable: Boolean( $$.data('markers-draggable') ),
						icon    : $$.data('marker-icon'),
						title   : ''
					});
				}
				var markerPositions = $$.data('marker-positions');
				if (markerPositions && markerPositions.length) {
					markerPositions.forEach(
						function (mrkr) {
							ob_geocoder.geocode({'address': mrkr.place}, function (res, status) {
								if (status == google.maps.GeocoderStatus.OK) {
									new google.maps.Marker({
										position: res[0].geometry.location,
										map     : map,
										// draggable: Boolean( $$.data('markers-draggable') ),
										icon    : $$.data('marker-icon'),
										title   : ''
									});
								}
							});
						}
					);
				}
				var directions = $$.data('directions');
				if (directions) {

					if (directions.waypoints && directions.waypoints.length) {
						directions.waypoints.map(
							function (wypt) {
								wypt.stopover = Boolean(wypt.stopover);
							}
						);
					}

					var directionsRenderer = new google.maps.DirectionsRenderer();
					directionsRenderer.setMap(map);

					var directionsService = new google.maps.DirectionsService();
					directionsService.route({
							origin           : directions.origin,
							destination      : directions.destination,
							travelMode       : directions.travelMode.toUpperCase(),
							avoidHighways    : Boolean(directions.avoidHighways),
							avoidTolls       : Boolean(directions.avoidTolls),
							waypoints        : directions.waypoints,
							optimizeWaypoints: Boolean(directions.optimizeWaypoints)

						},
						function (result, status) {
							if (status == google.maps.DirectionsStatus.OK) {
								directionsRenderer.setDirections(result);
							}
						});
				}
			}
			else if (status == google.maps.GeocoderStatus.ZERO_RESULTS) {
				$$.append('<div><p><strong>There were no results for the place you entered. Please try another.</strong></p></div>');
			}
		});
	});
}

function ob_loadApi($) {
	var apiKey = $('.event-google-map-canvas').data('api-key');
	if (apiKey) {
		var apiUrl = 'https://maps.googleapis.com/maps/api/js?v=3.exp&callback=initialize';
		if (apiKey) {
			apiUrl += '&key=' + apiKey;
		}
		var script = $('<script type="text/javascript" src="' + apiUrl + '">');
		$('body').append(script);
	}
}

function initialize() {
	event_loadMap(window.jQuery);
}

jQuery(function ($) {
	ob_loadApi($);
});

Zerion Mini Shell 1.0