Broşür: eğri çizgiler nasıl çizilir?


17

Bu yüzden, bir broşür haritasına dayanan uygulamamda eğri çizgiler çizmeye çalışıyorum.

Bildiğim kadarıyla Leaflet şu anda kavisli çizgiler çizmeyi desteklemiyor, bu yüzden sorum gerçekten en iyi nasıl kavisli çizgi işlevine sahip olacağımızla ilgili.

Kodum IE-8 uyumlu olması gerektiğinden sorun daha da zorlaşıyor, bu da saf SVG'nin çözüm olmadığı anlamına geliyor. (Hiçbir SVG desteğinin bulunmadığını tespit ederse, Leaflet aslında VML'ye geri dönüş yapar ...)

Bu yüzden bir olasılık , kendi VML'ye geri dönüşü olan SVG'ye dayanan bazı broşür uzantısı kodu yazmak olabilir . Bu çok fazla iş olacak. : /

Daha iyi bir teklifi olan var mı?


Şimdi bir yanıtı asla kabul etmediğimi fark ettim. Raphaël çok güzel bir kütüphane gibi göründüğü ve güzel bir VML yedeği sağladığı için @dobrych tarafından bir tane seçtim. Arc.js'ye de bakabilirim.
fgysin Monica

Yanıtlar:


5

IE8 destek gereksinimi göz önüne alındığında, masada çok fazla seçeneğimiz yok. Sadece VML yedek olan bir SVG lib'i hatırlayabilirim - Raphaël.js Böylece Leaflet için bu Raphaël katman eklentisi uygulamasını deneyebilirsiniz. https://github.com/dynmeth/RaphaelLayer Eklentiyi kendim denemedim, ancak Raphaël'i başarıyla kullandım. Umarım bir kullanım bulabilirsiniz.

İşte çalışma örneği (demoya resim bağlantıları) http://visualizingurbanfutures.com/2012/09/06/maps-with-raphael-js/

IE8 gereksinimi değilse, web CBS içindeki herhangi bir vektör için D3 kullanmaya giderdim.



3

Kendi özel katmanınızı oluşturmak muhtemelen bu sorunu çözmek için bir çözümdür. Ama evet, çok fazla iş olacağını kabul ediyorum. Başka bir seçenek, coğrafi koordinatlara dayanarak kendi eğrilerinizi (bezier, b-spline veya bunun gibi bir şey) çizmek olacaktır. Bunun güzel göründüğü hakkında hiçbir fikrim yok, ama sonucun çok kötü olmayacağını ve kesinlikle çok daha hızlı elde edildiğini hayal edebiliyorum. Bu tür algoritmalar için çok sayıda JS komut dosyası var. Hesaplama için verilerinizi UTM gibi bir şeye yansıtmayı düşünebilirsiniz.

Eğer bir şey bulursan. lütfen bize bildirin ...

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.