leaflet-map.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. window.SONATA_CONFIG.USE_ICHECK = false;
  2. var map,
  3. defaultCoords,
  4. drawnItems,
  5. marker,
  6. loc;
  7. $(document).ready(function () {
  8. defaultCoords = new L.latLng(39.791312, -2.6949709); // España
  9. map = new L.Map('map', {zoom: getZoomLevel(), center: getDataCoords()});
  10. drawnItems = L.featureGroup().addTo(map);
  11. drawMarker();
  12. L.control.layers(
  13. {
  14. 'openstreetmap': L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
  15. {
  16. maxZoom: 18,
  17. attribution: '&copy; <a href="http://openstreetmap.org/copyright">OpenStreetMap</a> contributors'
  18. }).addTo(map),
  19. "google": L.tileLayer('http://www.google.com.ar/maps/vt?lyrs=y@189&gl=cn&x={x}&y={y}&z={z}',
  20. {
  21. maxZoom: 18,
  22. attribution: 'google'
  23. })
  24. },
  25. {
  26. 'drawlayer': drawnItems
  27. },
  28. {
  29. position: 'topleft',
  30. collapsed: false
  31. }).addTo(map);
  32. });
  33. function getDataCoords()
  34. {
  35. var jsonParseData = {};
  36. if ($('[name$="[data]"]').val()) {
  37. dataValue = $('[name$="[data]"]').val();
  38. }
  39. if (dataValue) {
  40. jsonParseData = JSON.parse(dataValue);
  41. }
  42. loc = defaultCoords;
  43. if (jsonParseData.lat && jsonParseData.lng) {
  44. loc = new L.latLng(jsonParseData.lat, jsonParseData.lng);
  45. }
  46. return loc;
  47. }
  48. function drawMarker()
  49. {
  50. if (marker) {
  51. drawnItems.removeLayer(marker);
  52. }
  53. map.panTo(loc);
  54. marker = L.marker([loc.lat, loc.lng]);
  55. drawnItems.addLayer(marker);
  56. }
  57. function getZoomLevel()
  58. {
  59. var jsonParseData = {};
  60. var zoomLevel = 18;
  61. if ($('[name$="[data]"]').val()) {
  62. dataValue = $('[name$="[data]"]').val();
  63. }
  64. if (dataValue) {
  65. jsonParseData = JSON.parse(dataValue);
  66. }
  67. if (jsonParseData.zoom) {
  68. zoomLevel = jsonParseData.zoom;
  69. }
  70. return zoomLevel;
  71. }