2016-04-06 16 views
1

Harici jsonu yaprakçık katmanına ekledim. Geojson şeklini/poligonunu tıklattığımda, geojson dizesini geri almak istiyorum. Bunu nasıl yaparım? Tabakaya bir referansım var, ama geojsonu nasıl özelliklerle geri alabileceğinizi anlamıyorum.Geojson nesnesi yaprakçıka nasıl eklenir?

var layer = e.layer; 

cevap

0

yerel yapacak var kullanılarak tıklama işleyici işlevi içinde layer bildirme, bu nedenle tıklama işleyicisi dışında erişim mümkün olmayacaktır. Global olarak layer no'lu telefon numarasına erişmek isterseniz, bunu global variable olarak bildirmek isteyeceksiniz, ya bunu fonksiyonun dışında ilan ederek ya da var olmadan fonksiyonun içinde beyan ederek. Aşağıdaki kod iki global değişkenler, bir dize olarak GeoJSON ile bir nesne olarak katmanın GeoJSON ile diğeri oluşturmak için ikinci bir yöntem kullanır:

layer.on('click', function() { 
    objectOut = layer.toGeoJSON(); 
    textOut = JSON.stringify(objectOut); 
}); 

önce bu değişkenleri erişmeye çalıştığınızda olabilecek diğer rutinleri varsa Bir özellik tıklandığında, önce tıklama işleyicisi dışında bildirmek isteyebilirsiniz (örneğin, var textOut = 'nothing clicked' veya benzeri).

http://fiddle.jshell.net/nathansnider/pgk26r6n/

+0

"ilan (a var) işlevi içinde var (anahtar kelime kullanarak) olmadan" bunu yapmayın lütfen: İşte bu yöntemi kullanarak bir örnek keman olduğunu. Değişkenlerinizi açık bir şekilde kapsamamak, JS'de yapabileceğiniz en kötü şeylerden biridir ve her türlü hataya neden olabilir. Tabloda, kod incelemelerinde saygısızlık yapan 2 numaralı neden ve bir JS ağır röportajında ​​başarısız olmak için 1 numaralı neden (şaka değil, şaka değil). – technicolorenvy

İlgili konular