Server : LiteSpeed System : Linux server 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : alsaif ( 1057) PHP Version : 7.4.33 Disable Function : show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/alsaif/public_html/plugins/fields/acfgooglemap/tmpl/ |
<?php
/**
* @package Advanced Custom Fields
* @version 2.1.3 Free
*
* @author Tassos Marinos <info@tassos.gr>
* @link http://www.tassos.gr
* @copyright Copyright © 2019 Tassos Marinos All Rights Reserved
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
*/
defined('_JEXEC') or die;
if (!$coords = $field->value)
{
return;
}
// Get Plugin Params
$plugin = JPluginHelper::getPlugin('fields', 'acfgooglemap');
$params = new JRegistry($plugin->params);
// Setup Variables
$mapID = 'acf_map_' . $item->id . '_' . $field->id;
$coords = explode(",", $coords);
if (!isset($coords[1]))
{
return;
}
$width = $fieldParams->get('width', '400px');
$height = $fieldParams->get('height', '350px');
$zoom = $fieldParams->get('zoom', '16');
// Add Media Files
JFactory::getDocument()->addScript('//maps.googleapis.com/maps/api/js?key=' . $params->get("key"));
JHtml::script('plg_fields_acfgooglemap/gmaps.js', ['relative' => true, 'version' => 'auto']);
// Output
$buffer = '
<style>
#' . $mapID . ' {
width: ' . $width . ';
height: ' . $height . ';
}
</style>
<div id="' . $mapID . '"></div>
<script>
document.addEventListener("DOMContentLoaded", function() {
let map = document.querySelector("#' . $mapID . '");
let observer = new IntersectionObserver((entries, observer) => {
entries.forEach(map_item => {
if (map_item.isIntersecting) {
let map = new GMaps({
div: map_item.target,
lat: ' . $coords[0] . ',
lng: ' . $coords[1] . ',
zoom: ' . $zoom . '
});
map.addMarker({
lat: ' . $coords[0] . ',
lng: ' . $coords[1] . '
});
observer.unobserve(map_item.target);
}
});
}, {rootMargin: "0px 0px 0px 0px"});
observer.observe(map);
});
</script>
';
echo $buffer;