स्क्रीन पर पिक्सल के निर्देशांक कन्वर्ट (और फिर से वापस)

वोट
1

: यह मैं क्या कर रहा है मानचित्र पर एक मार्कर पर क्लिक करने से एक साइड पैनल खोलने के लिए और मार्कर पर नक्शे को केंद्रित करने के लिए। साइड पैनल स्क्रीन के दाईं ओर का 3/4 तक ले जाता है।

: यह है कि मैं क्या होने की जरूरत है मार्कर व्यूपोर्ट के बाद खुलने वाले पैनल छोड़ दिया है कि का 1/4 के अनुसार केंद्र।

मैं मार्कर के पिक्सेल निर्देशांक प्राप्त जहां यह जबकि पैनल खुला एनिमेट है करने के लिए अनुवाद करने के लिए की जरूरत है की गणना कर सकते हैं। समस्या यह है कि है flyTo()ही स्वीकार करता है LngLatLikeवस्तुओं और मैं नहीं बदल सकते मेरी पिक्सेल अक्षांश और देशांतर के समन्वय करता है। Leaflet.js एक समारोह में कहा जाता है containerPointToLatLng()कि काम में आ गया इससे पहले कि मैं जीएल MapBox करने लगे।

MapBox जीएल की sofistication को देखते हुए इसकी नयापन के बावजूद, मैं केवल कल्पना कर सकते हैं कि यह एक संभावना है। पर कैसे?

13/12/2016 को 23:02
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
4

परियोजना और unproject तरीकों यह संभव तरह तर्क का एक बहुत हैं। आप एक निश्चित lngLat पर एक क्लिक है, और आप मानचित्र स्थिति ऐसी है कि है कि भौगोलिक स्थिति क्षैतिज रूप से केंद्रित है चाहते हैं और 1/8 के निशान पर है, तो आप कर सकते थे, तो:

  1. भौगोलिक स्थिति ले लो और इसके साथ एक पिक्सेल स्थिति में बदल जाते हैं project
  2. शिफ्ट कि पिक्सेल स्थिति (1 / 2-1 / 8) = 4 / 8-1 / 8 से सही = 3/8 = 0.375 * map._containerDimensions()[0]यह संख्या जोड़कर इसे करने के लिए
  3. वापस कर दें कि स्थानांतरित कर दिया पिक्सेल स्थिति के साथ एक भौगोलिक स्थिति में unproject

या, आप भी इसे का उपयोग करके आसान तरीका ऐसा करने में सक्षम हो सकता है ऑफसेट विकल्प अपने में flyToकॉल।

16/12/2016 को 22:42
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more