%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/bitrix/www/bitrix/js/landing/provider/map/
Upload File :
Create Path :
Current File : //home/bitrix/www/bitrix/js/landing/provider/map/google-map.min.js

(function(){"use strict";BX.namespace("BX.Landing.Provider.Map");var e=BX.Landing.Utils.proxy;var t=BX.Landing.Utils.isPlainObject;var n=BX.Landing.Utils.isArray;var i=BX.Landing.Utils.isEmpty;var o=BX.Landing.Utils.isBoolean;var r={"":[],off:[{featureType:"road",stylers:[{visibility:"off"}]}]};var a={"":[],off:[{featureType:"administrative",elementType:"geometry",stylers:[{visibility:"off"}]},{featureType:"poi",stylers:[{visibility:"off"}]},{featureType:"road",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"transit",stylers:[{visibility:"off"}]}]};var s={"":[],off:[{elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"administrative.land_parcel",stylers:[{visibility:"off"}]},{featureType:"administrative.neighborhood",stylers:[{visibility:"off"}]}]};BX.Landing.Provider.Map.GoogleMap=function(e){this.themes=BX.Landing.Provider.Map.GoogleMap.Theme;BX.Landing.Provider.Map.BaseProvider.apply(this,arguments)};BX.Landing.Provider.Map.GoogleMap.prototype={constructor:BX.Landing.Provider.Map.GoogleMap,__proto__:BX.Landing.Provider.Map.BaseProvider.prototype,init:function(){var n=this.options;this.mapInstance=new google.maps.Map(this.mapContainer,{zoom:this.mapOptions.zoom,center:this.mapOptions.center,zoomControl:o(n.zoomControl)?n.zoomControl:true,mapTypeControl:o(n.mapTypeControl)?n.mapTypeControl:true,mapTypeControlOptions:t(n.mapTypeControlOptions)?n.mapTypeControlOptions:null,scaleControl:o(n.scaleControl)?n.scaleControl:true,streetViewControl:o(n.streetViewControl)?n.streetViewControl:true,rotateControl:o(n.rotateControl)?n.rotateControl:true,fullscreenControl:o(n.fullscreenControl)?n.fullscreenControl:true,styles:(n.theme&&n.theme in this.themes?this.themes[n.theme]:[]).concat(r[n.roads]||[],a[n.landmarks]||[],s[n.labels]||[])});if(this.mapOptions.markers){this.mapOptions.markers.forEach(function(e){e.editable=BX.Landing.getMode()==="edit";e.draggable=BX.Landing.getMode()==="edit";this.addMarker(e)},this)}this.mapInstance.addListener("click",this.onMapClickHandler);this.mapInstance.addListener("bounds_changed",e(this.onChange,this));this.mapInstance.addListener("center_changed",e(this.onChange,this));this.mapInstance.addListener("zoom_changed",e(this.onChange,this))},onChange:function(){this.onChangeHandler(this.preventChangeEvent)},addMarker:function(e){var t={};t.marker=new google.maps.Marker({position:e.latLng,map:this.mapInstance,draggable:e.draggable});t.form=BX.Landing.getMode()==="edit"?this.createBalloonEditForm(e,t):null;t.content=this.createBalloonContent(e);t.infoWindow=new google.maps.InfoWindow({content:e.editable&&BX.Landing.getMode()==="edit"?t.form.layout:t.content});if(e.showByDefault&&BX.Landing.getMode()!=="edit"){t.infoWindow.open(this.mapInstance,t.marker)}this.markers.add(t);t.marker.addListener("click",this.onMarkerClick.bind(this,t));this.onChange()},onMarkerClick:function(e){void(this.activeMarker&&this.activeMarker.infoWindow.close());e.infoWindow.open(this.mapInstance,e.marker);this.activeMarker=e},onEditFormRemoveClick:function(e){if(e){e.infoWindow.close();this.removeMarker(e)}this.markers.remove(e);this.onChange()},onEditFormApplyClick:function(e){e.infoWindow.close();this.onChange()},removeMarker:function(e){e.marker.setMap(null);this.markers.remove(e)},setZoom:function(e){this.mapInstance.setZoom(e)},setCenter:function(e){this.mapInstance.setCenter(e)},getMarkersValue:function(){return this.markers.map(function(e){return{title:e.form?e.form.fields[0].getValue():"",description:e.form?e.form.fields[1].getValue():"",showByDefault:e.form?!!e.form.fields[2].getValue()[0]:"",latLng:e.marker.position.toJSON()}})},getValue:function(){return{center:this.mapInstance.getCenter()?this.mapInstance.getCenter().toJSON():{},zoom:this.mapInstance.getZoom(),markers:this.getMarkersValue()}},setValue:function(e,o){this.preventChangeEvent=o;this.markers.forEach(this.removeMarker,this);if(t(e)){if(n(e.markers)){e.markers.forEach(this.addMarker,this)}if(!i(e.center)){this.setCenter(e.center)}if(!i(e.zoom)){this.setZoom(e.zoom)}}this.preventChangeEvent=false}}})();

Zerion Mini Shell 1.0