123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- 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: '© <a href="http://openstreetmap.org/copyright">OpenStreetMap</a> 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;
- }
|