Leaflet 代码超出JS函数边界并立即触发

Leaflet 代码超出JS函数边界并立即触发,leaflet,mapquest,Leaflet,Mapquest,下面的代码位于名为maplocation.js的文件中的javascript函数中,该文件应该只在单击按钮时触发,但在页面首次加载时会自动触发。代码不会等待按钮单击,而是立即加载地图。按一下按钮,它应该添加一个新的汽车图像的位置 window.map.panTo([data.Data.LatLng.Lat, data.Data.LatLng.Lng]); var vehicleIcon = L.icon({

下面的代码位于名为maplocation.js的文件中的javascript函数中,该文件应该只在单击按钮时触发,但在页面首次加载时会自动触发。代码不会等待按钮单击,而是立即加载地图。按一下按钮,它应该添加一个新的汽车图像的位置

window.map.panTo([data.Data.LatLng.Lat, data.Data.LatLng.Lng]);

                        var vehicleIcon = L.icon({
                            iconUrl: settings.mapIcon,
                            iconSize: [22, 25],
                            iconAnchor: [11, 20],
                            popupAnchor: [0, -22]
                        });

                        L.circle([data.Data.LatLng.Lat, data.Data.LatLng.Lng], 140, { color: 'Green' }).addTo(window.map);

                        L.marker([data.Data.LatLng.Lat, data.Data.LatLng.Lng], { icon: vehicleIcon }).addTo(window.map).bindPopup("<b style='width:200px;'>" + settings.mapTitle + "</b><br />");
window.map.panTo([data.data.LatLng.Lat,data.data.LatLng.Lng]);
var VehicleCon=L.图标({
iconUrl:settings.mapIcon,
iconSize:[22,25],
iconAnchor:[11,20],
popupAnchor:[0,-22]
});
L.circle([data.data.LatLng.Lat,data.data.LatLng.Lng],140,{color:'Green'}).addTo(window.map);
L.marker([data.data.LatLng.Lat,data.data.LatLng.Lng],{icon:vehicleIcon}).addTo(window.map.bindpoop(“+settings.mapTitle+”
”);
代码中的任何内容都不会使其对按钮作出反应……发生的情况是,ASP.NET WebForms中设置了OnClient click mentod,并为按钮的单击事件设置了参数。因此,上面的代码是MapLocation.js函数的一部分,该函数通过脚本标记加载。要明确的是,在应用程序加载时,我的第一个JS文件加载一个地图来定位手机的lat长度。但是MapLocation.js文件随后会加载。不知何故,尽管上面的代码位于一个名为MapLocation的函数中,但它在页面加载周期中触发。因此,在加载第一个映射后,首先加载的映射会立即被覆盖。代码中的任何内容都不会使它对按钮作出反应……发生的情况是ASP.NET WebForms中设置了OnClient click mentod,并为按钮的单击事件设置了参数。因此,上面的代码是MapLocation.js函数的一部分,该函数通过脚本标记加载。要明确的是,在应用程序加载时,我的第一个JS文件加载一个地图来定位手机的lat长度。但是MapLocation.js文件随后会加载。不知何故,尽管上面的代码位于一个名为MapLocation的函数中,但它在页面加载周期中触发。因此,第一个加载的映射在第一个映射加载后立即被覆盖