leaflet-map.js 2.1 KB

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