बीजगणित आणि भूमिती… मी ते कधी वापरणार? Google नकाशे!
माझा एक चांगला मित्र, ग्लेन, फॅमिली वॉचडॉगच्या संस्थापकांपैकी एक आहे. फॅमिली वॉचडॉग ही त्या विलक्षण कथांपैकी एक आहे... मॅशअपवर स्थापन केलेली कंपनी सार्वजनिक सेवा करत आहे आणि प्रत्यक्षात तिच्या संस्थापकांना उदरनिर्वाह करत आहे. आपण फरक केला आहे हे जाणून दररोज कामावर जाणे आश्चर्यकारक असणे आवश्यक आहे. प्रत्येक वेळी जेव्हा मी ग्लेनला पाहतो तेव्हा तो वेड्यासारखा काम करतो आणि प्रत्येक मिनिटावर प्रेम करतो.
आज रात्री मी ग्लेनला काही Google नकाशा समस्यांसह मदत केली. मला तुमच्यासोबत एक शेअर करायचा आहे... Google Maps वर एक वर्तुळ काढत आहे. ते संपेल (माझ्या माहितीनुसार), तुम्ही प्रत्यक्षात वर्तुळ काढू शकत नाही. तथापि, आपल्याकडे पॉलिलाइन्स काढण्याची आणि आपल्याला योग्य वाटेल त्याप्रमाणे वेक्टर करण्याची क्षमता आहे. तर, कोड फक्त 36 सेगमेंट एकत्र ठेवण्यासाठी आणि वेक्टरला थोडा कोनात ठेवण्यासाठी तयार केला जाऊ शकतो जेणेकरून ते जोडून पूर्ण वर्तुळ तयार करतील!
पॉलिलाइन्ससह लिहिलेले आहेत व्हीएमएल (वेक्टर मार्कअप लँग्वेज), त्यामुळे ते IE योग्यरित्या रेंडर करण्यासाठी फाइलच्या शीर्षलेखात सूचित केले पाहिजे. फायरफॉक्स आपोआप करतो (अर्थातच!).
येथे एक स्निपेट आहे जो तुमच्या घराभोवती 1 मैल एक वर्तुळ काढेल.
var PGlat = (PGradius/3963)*180/Math.PI; // मैलांमध्ये पृथ्वीची त्रिज्या म्हणून 3963 मैल वापरणे जर (PGwidth != 0) { var PGlng = PGlat/Math.cos(PGcenter.lat()*Math.PI/180); साठी (var i=-1; i > PGsides; i++) { var theta = ((2*i+1)/PGsides-0.5) * Math.PI; var PGx = PGcenter.lng() + (PGlng * Math.cos(theta)); var PGy = PGcenter.lat() + (PGlat * Math.sin(theta)); PGpoints.push(नवीन GLatLng(PGy,PGx)); }; map.addOverlay(नवीन GPPolyline(PGpoints,PGcolor,PGwidth,PGtrans)); }इतर{ var PxWidth = Math.round(PGlat * yyPx / latSpan + 0.5); // पॉलीलाइनची रुंदी var deltaLat = 250 * latSpan / yyPx; जर (PxWidth > 500) { PxWidth = 500; PGlat -= deltaLat; }इतर{ PGlat /= 2; };
कोड पूर्ण पाहण्यासाठी संपूर्ण डेमो पहा. मी या साइटवर संपूर्ण कार्य केले जेथे त्याला छायांकित प्रदेशांसह एकाच नकाशावर मंडळांचे अनेक स्तर मिळाले आहेत.