Current File : /home/pacjaorg/public_html/km/components/com_djclassifieds/layouts/googlemap.php |
<?php
/**
* @package DJ-Classifieds
* @copyright Copyright (C) DJ-Extensions.com, All rights reserved.
* @license http://www.gnu.org/licenses GNU/GPL
* @author url: http://dj-extensions.com
* @author email contact@dj-extensions.com
*/
defined('_JEXEC') or die;
JHtml::_('jquery.framework');
$lat = $displayData['lat'];
$lon = $displayData['lon'];
$region_id = $displayData['region_id'];
$address = $displayData['address'];
$icon_img = !empty($displayData['icon_img']) ? $displayData['icon_img'] : null;
$context = isset($displayData['context']) ? $displayData['context'] : 'profile';
$par = $displayData['par'];
?>
<div id="google_map_box">
<div id="djmap" style="width:100%;height:210px;display:none;"></div>
<?php if($par->get('gm_img_on_start',0)==1){ ?>
<div id="show_map_outer" class="show_map_outer">
<img src="<?php echo DJClassifiedsTheme::getImgAssetPath('map_blank.png'); ?>" alt="" />
<button type="button" id="show_map_btn" class="button"><?php echo JText::_('COM_DJCLASSIFIEDS_SHOW_MAP'); ?></button>
</div>
<?php } ?>
<?php if($context == 'item'){ ?>
<?php if($par->get('show_lat_lng',0) && $lat > 0 && $lon > 0){ ?>
<div class="geo_coordinates"><?php echo JText::_('COM_DJCLASSIFIEDS_GEOGRAPHIC_COORDINATES')?>:
<span><?php echo '('.(float)$lat.','.(float)$lon.')'; ?></span>
</div>
<?php } ?>
<div class="map_info"><?php echo JText::_('COM_DJCLASSIFIEDS_MAP_ACCURACY')?></div>
<?php if($par->get('show_gm_driving')==1){ ?>
<?php $geoloc_address = DJClassifiedsGeocode::getGeolocAddress($region_id, $address); ?>
<form action="<?php echo JRoute::_('index.php'); ?>" method="post" class="gm_drive_dir" target="_blank">
<label><?php echo JText::_('COM_DJCLASSIFIEDS_DRIVE_DIRECTIONS');?></label>
<input type="hidden" name="option" value="com_djclassifieds" />
<input type="hidden" name="view" value="item" />
<input type="hidden" name="task" value="driveDirections" />
<input type="hidden" name="latitude" value="<?php echo $lat; ?>" />
<input type="hidden" name="longitude" value="<?php echo $lon; ?>" />
<input type="text" class="inputbox" name="saddr" placeholder="<?php echo JText::_('COM_DJCLASSIFIEDS_ENTER_ADDRESS');?>" />
<input class="button" type="submit" value="<?php echo JText::_('COM_DJCLASSIFIEDS_DIRECTIONS_SEARCH'); ?>" />
<input type="hidden" name="daddr" value="<?php echo $geoloc_address; ?>" />
</form>
<?php
if(isset($_COOKIE["djcf_latlon"])){
$saddr = str_ireplace('_', ',', $_COOKIE["djcf_latlon"]);
echo '<a class="gm_drive_dir_l" target="_blank" href="https://maps.google.com/maps?saddr='.$saddr.'&daddr='.$geoloc_address.'">'.JText::_('COM_DJCLASSIFIEDS_OR_USE_LOCALIZATION').'<span></span></a>';
}else{
echo '<span class="gm_drive_dir_l"><button class="button" onclick="getDJDriveLocation()">'.JText::_('COM_DJCLASSIFIEDS_OR_USE_LOCALIZATION').'</button><span></span></span>';
}
?>
<script>
function getDJDriveLocation()
{
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(showDJDrivePosition);
}else{
console.error('<?php echo JText::_('COM_DJCLASSIFIEDS_GEOLOCATION_IS_NOT_SUPPORTED_BY_THIS_BROWSER');?>');
}
}
function showDJDrivePosition(position)
{
setDJLocationCookie(position);
window.open("http://maps.google.com/maps?saddr="+ (position.coords.latitude+','+position.coords.longitude) +"&daddr=<?php echo $geoloc_address; ?>");
}
</script>
<?php } ?>
<?php } ?>
</div>
<script>
<?php if($par->get('gm_img_on_start',0)==1){ ?>
jQuery('#show_map_btn').on('click', function(){
document.getElementById('show_map_outer').innerHTML = '';
mapaStart();
});
<?php }else{ ?>
jQuery(function(){
mapaStart();
});
<?php } ?>
var djmap;
var map_marker = new google.maps.InfoWindow();
var geokoder = new google.maps.Geocoder();
function addMarker(position,txt,icon)
{
var markerOpt =
{
position: position,
icon: icon,
map: djmap
}
var marker = new google.maps.Marker(markerOpt);
return marker;
}
function mapaStart()
{
<?php if($icon_img){ ?>
<?php $icon_size = getimagesize(JPATH_ROOT.'/'.$icon_img); ?>
var size = new google.maps.Size(<?php echo $icon_size[0].','.$icon_size[1]; ?>);
var start_point = new google.maps.Point(0,0);
var anchor_point = new google.maps.Point(<?php echo ($icon_size[0]/2).','.$icon_size[1];?>);
var icon = new google.maps.MarkerImage("<?php echo JUri::root().$icon_img; ?>", size, start_point, anchor_point);
<?php }else{ ?>
var icon = '';
<?php } ?>
<?php $gm_scrollwheel = $par->get('gm_scrollwheel','1') ? 'true' : 'false'; ?>
<?php $map_styles = trim($par->get('gm_styles','')) == '' ? '[]' : $par->get('gm_styles'); ?>
<?php if($lat > 0 && $lon > 0){ ?>
document.getElementById('djmap').style.display='block';
var adLatlng = new google.maps.LatLng(<?php echo $lat.','.$lon; ?>);
var scrollw = <?php echo $gm_scrollwheel; ?>;
var MapOptions = {
zoom: <?php echo $par->get('gm_zoom','10'); ?>,
scrollwheel: scrollw,
center: adLatlng,
mapTypeId: google.maps.MapTypeId.<?php echo $par->get('gm_type','ROADMAP'); ?>,
navigationControl: true,
styles: <?php echo $map_styles; ?>
};
djmap = new google.maps.Map(document.getElementById('djmap'), MapOptions);
var marker = addMarker(adLatlng,'',icon);
<?php }else{ ?>
var adres = '<?php echo DJClassifiedsGeocode::getGeolocAddress($region_id, $address); ?>';
var scrollw = <?php echo $gm_scrollwheel; ?>;
geokoder.geocode({address: adres}, function (results, status)
{
if(status == google.maps.GeocoderStatus.OK)
{
document.getElementById('djmap').style.display = 'block';
var MapOptions = {
zoom: <?php echo $par->get('gm_zoom','10'); ?>,
scrollwheel: scrollw,
center: results[0].geometry.location,
mapTypeId: google.maps.MapTypeId.ROADMAP,
navigationControl: true,
styles: <?php echo $map_styles; ?>
};
djmap = new google.maps.Map(document.getElementById('djmap'), MapOptions);
var marker = addMarker(results[0].geometry.location,'',icon);
}
});
<?php } ?>
}
</script>