Je travaille avec l'application Beta_Here qui utilise un dépliant plugins, toutes les bibliothèques sont locales, sauf pour quelques-uns (css liés)reliure formes dessinées/marqueurs avec couche de basculement spécifique: Brochure
Utilisation de l'application en direct
First View: Cette application obtenir l'entrée de l'utilisateur et régler la distance formule de calcul en conséquence ....
seconde vue: Après avoir entré l'entrée par exemple 9, deuxième vue sera chargé où nous ca n dessiner des formes ....
Présentation
J'ai installé le script qui charge deux imageoverlays (couches) et nous pouvons les passer du haut à droite et nous pouvons dessiner ou mesurer à partir bas à gauche ....
problème
lorsque nous dessiner des formes ou des marqueurs mis sur une image, les contrôles fonctionnent presque parfait, mais quand on bascule la couche s, il commence le problème .... toutes les formes vont à l'arrière-plan ou (il semble qu'ils ont disparu)
question principale
Comment peut-on lier les dessins et marqueurs à la couche spécifique (imageoverlay) s'il y a un moyen que nous pouvons voir le dessin sont pas lier avec les images, mais le conteneur de la carte ..... (Pardonnez-moi si vous sens que je fais quelque chose de stupide parce que j'ai des connaissances limitées sur les couches de sorte Je suis venu avec ma question ici ....
Si quelqu'un a idée sur la façon de résoudre ce problème, s'il vous plaît faire de l'aide ou toute référence sera apprécié ... Merci pour votre temps
travail Script
var map = L.map('map', {
minZoom: 1,
maxZoom: 4,
center: [0, 0],
zoom: 0,
crs: L.CRS.Simple
});
// dimensions of the image
var w = 3200,
h = 1900,
mainurl = 'assets/img/isbimg.jpg';
childurl = 'assets/img/fjmap.png';
// calculate the edges of the image, in coordinate space
var southWest = map.unproject([0, h], map.getMaxZoom() - 1);
var northEast = map.unproject([w, 0], map.getMaxZoom() - 1);
var bounds = new L.LatLngBounds(southWest, northEast);
var featureGroup = L.featureGroup().addTo(map);
var drawControl = new L.Control.Draw({
edit: {
featureGroup: featureGroup
},
draw: {
polygon: true,
polyline: true,
rectangle: true,
circle: true,
marker: true
}
}).addTo(map);
map.on('draw:created', showPolygonArea);
map.on('draw:edited', showPolygonAreaEdited);
// add the image overlay,so that it covers the entire map
L.control.layers({
Main: L.imageOverlay(mainurl, bounds),
Child: L.imageOverlay(childurl, bounds)
}, null, { collapsed: false }).addTo(map);
L.control.nanomeasure({ nanometersPerPixel: 10000 }).addTo(map);
// tell leaflet that the map is exactly as big as the image
map.setMaxBounds(bounds);
L.tileLayer({
attribution: '<a href="http://smartminds.co">SmartMinds</a>',
maxZoom: 18
}).addTo(map);
//polygon area customization
function showPolygonAreaEdited(e) {
e.layers.eachLayer(function (layer) {
showPolygonArea({ layer: layer });
});
}
function showPolygonArea(e) {
var userInputCustom = prompt("Please enter image name : choose between a to f");
featureGroup.addLayer(e.layer);
e.layer.bindPopup("<div style='width:200px;height:200px;background-image: url(assets/img/" + userInputCustom + ".png);background-size: 195px 195px;;background-repeat: no-repeat;'></div>");
e.layer.openPopup();
}
});
Veuillez ne pas utiliser '>' pour surligner du texte. C'est pour marquer les citations. – meagar