window.SONATA_CONFIG.USE_ICHECK = false; var map, defaultCoords, drawnItems, marker, loc, dataValue; $(document).ready(function () { defaultCoords = new L.latLng(39.791312, -2.6949709); // EspaƱa map = new L.Map('map', {zoom: getZoomLevel(), center: getDataCoords()}); drawnItems = L.featureGroup().addTo(map); L.control.layers( { 'openstreetmap': L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 18, attribution: '© OpenStreetMap contributors' }).addTo(map), "google": L.tileLayer('http://www.google.com.ar/maps/vt?lyrs=y@189&gl=cn&x={x}&y={y}&z={z}', { maxZoom: 18, attribution: 'google' }) }, { 'drawlayer': drawnItems }, { position: 'topleft', collapsed: false }).addTo(map); var drawControl = new L.Control.Draw({ draw: { polygon: false, rectangle: false, polyline: false, circle: false }, edit: { featureGroup: drawnItems, edit: false } }); map.addControl(drawControl); map.on(L.Draw.Event.CREATED, function (e) { var layer = e.layer; loc = new L.latLng(layer._latlng); drawMarker(); setDataValue(); }); map.on('zoomend', function () { setDataValue(); }); }); function getDataCoords() { var jsonParseData = {}; if ($('[name$="[extraData]"]').val()) { dataValue = $('[name$="[extraData]"]').val(); } if (dataValue) { jsonParseData = JSON.parse(dataValue); } loc = defaultCoords; if (jsonParseData.lat && jsonParseData.lng) { loc = new L.latLng(jsonParseData.lat, jsonParseData.lng); } return loc; } function drawMarker() { if (marker) { drawnItems.removeLayer(marker); } map.panTo(loc); marker = L.marker([loc.lat, loc.lng]); drawnItems.addLayer(marker); } function getZoomLevel() { var jsonParseData = {}; var zoomLevel = 18; if ($('[name$="[extraData]"]').val()) { dataValue = $('[name$="[extraData]"]').val(); } if (dataValue) { jsonParseData = JSON.parse(dataValue); } if (jsonParseData.zoom) { zoomLevel = jsonParseData.zoom; } return zoomLevel; }