leaflet-map.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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. map.on('zoomend', function () {
  34. setDataValue();
  35. });
  36. });
  37. function getDataCoords()
  38. {
  39. var jsonParseData = {};
  40. if ($('[name$="[extraData]"]').val()) {
  41. dataValue = $('[name$="[extraData]"]').val();
  42. }
  43. if (dataValue) {
  44. jsonParseData = JSON.parse(dataValue);
  45. }
  46. loc = defaultCoords;
  47. if (jsonParseData.lat && jsonParseData.lng) {
  48. loc = new L.latLng(jsonParseData.lat, jsonParseData.lng);
  49. }
  50. return loc;
  51. }
  52. function drawMarker()
  53. {
  54. if (marker) {
  55. drawnItems.removeLayer(marker);
  56. }
  57. map.panTo(loc);
  58. marker = L.marker([loc.lat, loc.lng]);
  59. drawnItems.addLayer(marker);
  60. }
  61. function getZoomLevel()
  62. {
  63. var jsonParseData = {};
  64. var zoomLevel = 18;
  65. if ($('[name$="[extraData]"]').val()) {
  66. dataValue = $('[name$="[extraData]"]').val();
  67. }
  68. if (dataValue) {
  69. jsonParseData = JSON.parse(dataValue);
  70. }
  71. if (jsonParseData.zoom) {
  72. zoomLevel = jsonParseData.zoom;
  73. }
  74. return zoomLevel;
  75. }