jQuery(window).on('load',function($){ if(jQuery(".lp_home").is("#homeMap")){ jQuery('#homeMap').empty(); $defLat=jQuery('body').data('defaultmaplat'); $defLong=jQuery('body').data('defaultmaplot'); L.Google=L.Class.extend({ includes: L.Mixin.Events, options: { minZoom: 0, maxZoom: 18, tileSize: 256, subdomains: 'abc', errorTileUrl: '', attribution: '', opacity: 1, continuousWorld: false, noWrap: false, }, initialize: function(type, options){ L.Util.setOptions(this, options); this._type=google.maps.MapTypeId[type||'SATELLITE']; }, onAdd: function(map, insertAtTheBottom){ this._map=map; this._insertAtTheBottom=insertAtTheBottom; this._initContainer(); this._initMapObject(); map.on('viewreset', this._resetCallback, this); this._limitedUpdate=L.Util.limitExecByInterval(this._update, 150, this); map.on('move', this._update, this); this._reset(); this._update(); }, onRemove: function(map){ this._map._container.removeChild(this._container); this._map.off('viewreset', this._resetCallback, this); this._map.off('move', this._update, this); }, getAttribution: function(){ return this.options.attribution; }, setOpacity: function(opacity){ this.options.opacity=opacity; if(opacity < 1){ L.DomUtil.setOpacity(this._container, opacity); }}, _initContainer: function(){ var tilePane=this._map._container first=tilePane.firstChild; if(!this._container){ this._container=L.DomUtil.create('div', 'leaflet-google-layer leaflet-top leaflet-left'); this._container.id="_GMapContainer"; } if(true){ tilePane.insertBefore(this._container, first); this.setOpacity(this.options.opacity); var size=this._map.getSize(); this._container.style.width=size.x + 'px'; this._container.style.height=size.y + 'px'; }}, _initMapObject: function(){ this._google_center=new google.maps.LatLng(0, 0); var map=new google.maps.Map(this._container, { center: this._google_center, zoom: 0, mapTypeId: this._type, disableDefaultUI: true, keyboardShortcuts: false, draggable: false, disableDoubleClickZoom: true, scrollwheel: false, streetViewControl: false }); var _this=this; this._reposition=google.maps.event.addListenerOnce(map, "center_changed", function(){ _this.onReposition(); }); map.backgroundColor='#ff0000'; this._google=map; }, _resetCallback: function(e){ this._reset(e.hard); }, _reset: function(clearOldContainer){ this._initContainer(); }, _update: function(){ this._resize(); var bounds=this._map.getBounds(); var ne=bounds.getNorthEast(); var sw=bounds.getSouthWest(); var google_bounds=new google.maps.LatLngBounds(new google.maps.LatLng(sw.lat, sw.lng), new google.maps.LatLng(ne.lat, ne.lng) ); var center=this._map.getCenter(); var _center=new google.maps.LatLng(center.lat, center.lng); this._google.setCenter(_center); this._google.setZoom(this._map.getZoom()); this._google.fitBounds(google_bounds); }, _resize: function(){ var size=this._map.getSize(); if(this._container.style.width==size.x && this._container.style.height==size.y) return; this._container.style.width=size.x + 'px'; this._container.style.height=size.y + 'px'; google.maps.event.trigger(this._google, "resize"); }, onReposition: function(){ }}); L.HtmlIcon=L.Icon.extend({ options: { }, initialize: function(options){ L.Util.setOptions(this, options); }, createIcon: function(){ var div=document.createElement('div'); div.innerHTML=this.options.html; if(div.classList) div.classList.add('leaflet-marker-icon'); else div.className +=' ' + 'leaflet-marker-icon'; return div; }, createShadow: function(){ return null; }}); var maplistingby=jQuery('body').data('maplistingby'); if(maplistingby==null||maplistingby==""||maplistingby=="geolocaion"){ lpGetGpsLocName(function (lpgetcurrentcityvalue){ lpgpsclocation=lpgetcurrentcityvalue; callhomemapajax(lpgpsclocation, maplistingby); }); }else{ callhomemapajax('', maplistingby); } function callhomemapajax(lpcity, maplistingby){ jQuery('#homeMap').addClass('loading'); jQuery.ajax({ type: 'POST', dataType: 'json', url: listingpro_home_map_object.ajaxurl, data: { 'action': 'listingpro_home_map_content', 'listingby': maplistingby, 'lpcity': lpcity, 'trig': 'home_map', }, success: function(data){ if(data){ jQuery('#homeMap').removeClass('loading'); var map=null; if(jQuery('#page').length){ $mtoken=jQuery('#page').data("mtoken"); $mapboxDesign=jQuery('#page').data("mstyle"); }else{ $mtoken=jQuery('#mm-page').data("mtoken"); $mapboxDesign=jQuery('#mm-page').data("mstyle"); } if($mtoken!=''){ L.mapbox.accessToken=$mtoken; map=L.mapbox.map('homeMap', 'mapbox.streets'); L.tileLayer('https://api.tiles.mapbox.com/v4/'+$mapboxDesign+'/{z}/{x}/{y}.png?access_token='+$mtoken+'', { maxZoom: 18, attribution: 'Map data © OpenStreetMap contributors, ' + 'CC-BY-SA, ' + 'Imagery © Mapbox', id: 'mapbox.light' }).addTo(map); var markers=new L.MarkerClusterGroup(); hasgetbouts=false; jQuery.each(data, function(i,v){ $vlatitude=v.latitude; $vlongitude=v.longitude; if($vlatitude!=null&&$vlongitude!=null){ hasgetbouts=true; var markerLocation=new L.LatLng($vlatitude, $vlongitude); var CustomHtmlIcon=L.HtmlIcon.extend({ options:{ html:"
", }}); var customHtmlIcon=new CustomHtmlIcon(); var marker=new L.Marker(markerLocation, {icon: customHtmlIcon}).bindPopup('
'+v.image+'
'+v.title+'

'+v.address+'

').addTo(map); markers.addLayer(marker); map.addLayer(markers); }}); if(hasgetbouts){ map.fitBounds(markers.getBounds()); }else{ map.fitBounds([[$defLat, $defLong],[$defLat, $defLong]]); } map.scrollWheelZoom.disable(); }else{ var map=new L.Map('homeMap', { dragging: true, tap: false }); var googleLayer=new L.Google('ROADMAP'); map.addLayer(googleLayer); var markers=new L.MarkerClusterGroup(); hasgetbouts=false; jQuery.each(data, function(i,v){ $vlatitude=v.latitude; $vlongitude=v.longitude; if(($vlatitude!=''||$vlatitude!=0)&&($vlongitude!=''||$vlongitude!=0)){ hasgetbouts=true; var markerLocation=new L.LatLng($vlatitude, $vlongitude); var CustomHtmlIcon=L.HtmlIcon.extend({ options:{ html:"
", }}); var customHtmlIcon=new CustomHtmlIcon(); var marker=new L.Marker(markerLocation, {icon: customHtmlIcon}).bindPopup('
'+v.image+'
'+v.title+'

'+v.address+'

').addTo(map); markers.addLayer(marker); map.addLayer(markers); }}); if(hasgetbouts){ map.fitBounds(markers.getBounds()); }else{ map.fitBounds([[$defLat, $defLong],[$defLat, $defLong]]); } map.scrollWheelZoom.disable(); map.invalidateSize(); }} }, error: function (request, status, error){ jQuery('#homeMap').removeClass('loading'); console.log(request.responseText); }}); };}});