Tengo dos js: (1o) es donde puedo agregar el mapa y donde puedo hacer clic en un botón y dibujar formas (geozona) y (2o) es donde puedo cambiar el color y la opacidad de las formas usando colorpicker y summernotes.

Puedo obtener el color en el selector de color en el (2o) js usando

$('#colorpicker'+no).colorpicker().on('changeColor', function() {
            var no = $(this).attr('map'); 
            var color = $('#txtGeoColor'+no).val();
            console.log("color1 : " , color);
        });

y su interior del document.ready(function()).

es posible llamar al color desde el (2o) js y pasarlo a (1st) js dentro de este código:

$("#mapContainer").on("click", ".btnCircleDraw",function(){
        var circleDrawer = new L.Draw.Circle(map, {
            shapeOptions: {
                color: (must call the color here)
            }
        });   
        circleDrawer.enable();
    });
0
Ennnn 4 nov. 2019 a las 10:09

1 respuesta

Para usar la variable de color dentro del segundo archivo. debe importar el primer archivo sobre el segundo archivo. me gusta

Archivo 1:

var color = '';
$('#colorpicker'+no).colorpicker().on('changeColor', function() {
            var no = $(this).attr('map'); 
            color = $('#txtGeoColor'+no).val();
            console.log("color1 : " , color);
        });

Archivo 2:

$("#mapContainer").on("click", ".btnCircleDraw",function(){
        var circleDrawer = new L.Draw.Circle(map, {
            shapeOptions: {
                color: color
            }
        });   
        circleDrawer.enable();
    });

Siempre tenga en cuenta que importe el archivo 1 antes que el archivo 2 porque el archivo 2 contiene una variable de color que se inicializa y asigna en el archivo 1.

Archivo donde se consumirán ambos archivos js.

<script src="file1.js">
<script src="file2.js">
0
Prince Kumar Dwivedi 4 nov. 2019 a las 07:19