Okul için bir proje hazırlıyorum ve bir broşür haritasındaki yakınlaştırma seviyesine bağlı olarak işaretleyici ikonlarını yeniden boyutlandırmam gerekiyor, Bunu başarmanın kolay bir yolu var mı? Web'deki herhangi bir eğitim var mı? Yardım için şimdiden teşekkür ederiz!Broşürdeki yakınlaştırma seviyesine bağlı olarak işaretleme simgelerini yeniden boyutlandırmanın bir yolu var mı?
cevap
Yakınlaştırma/uzaklaştırma yaparken işaretleyicilerin boyutunu değiştirmek için etkinliği işlemeniz gerekir. Harita yakınlaştırma veya uzaklaştırma bittikten zaman
map.on('zoomend', function() { });
zoomend
olay
Şimdi, bu işlevin içinde, işaretleyicilerin boyutunu değiştirmek için özel kodunuzu arayabilirsiniz. Örneğin, basit bir yaklaşım benimseyip harita yakınlaştırma düzeyinin boyutuna eşit bir daire işaretçisi boyutunu ayarlamak istediğinizi varsayalım. Harita veya uzaklaştırır Şimdi ne zaman bir CircleMarker here
// Create some marker that will be resized on the map zooming
var myMarker = new L.CircleMarker([10,10], { /* Options */ });
map.on('zoomend', function() {
var currentZoom = map.getZoom();
myMarker.setRadius(currentZoom);
});
için API bakınız, işaretleyici boyutu değişecektir.
Çocuğun dairenin boyutlarını değiştirmemesiyle ilgili Stophace ile ilgili olarak bahsettiğimden emin değilim, ancak circleMakers'ı yeniden boyutlandırmak veya diğer stil seçeneklerini değiştirmek istiyorsanız, onaylı yanıtın eklenmesi ... yarıçapı ile birlikte ağırlık), aşağıdaki yaklaşımı kullanabilirsiniz: ... Eğer circleMarkers içeren her ne katman adıyla değiştirilecektir
map.on('zoomend', function() {
var currentZoom = map.getZoom();
var myRadius = currentZoom*(1/2); //or whatever ratio you prefer
var myWeight = currentZoom*(1/5); //or whatever ratio you prefer
layername.setStyle({radius: myRadius, weight: setWeight});
});
layername ve tabii ki kesirler değiştirebilir senin ihtiyaçlarınızı karşılamak ister.
OP'nin okul projesi bittiğini tahmin ediyorum, ama umarım bu aynı soruya sahip olanlara yardımcı olur!
oops 'e zum seviyesini değiştirmemesi gereken çevreler için kullanılıyor. – juliabulia245
'L.CircleMarker' öğesini' L.circle' olarak değiştirmek isteyebilirsiniz. Anladığım kadarıyla, 'L.CircleMarker', – Stophface