พีชคณิตและเรขาคณิต…ฉันจะใช้มันเมื่อไหร่? Google Maps!

ภาพหน้าจอ 2014 10 23 เวลา 3.24.52 PM

Glenn เพื่อนที่ดีของฉันคือหนึ่งในผู้ก่อตั้ง Family Watchdog Family Watchdog เป็นหนึ่งในเรื่องราวที่น่าอัศจรรย์เหล่านั้น… บริษัทที่ก่อตั้งขึ้นจากการผสมผสานที่ให้บริการสาธารณะและหาเลี้ยงชีพให้กับผู้ก่อตั้งจริงๆ การไปทำงานทุกวันต้องวิเศษมากเพราะรู้ว่าคุณได้สร้างความแตกต่าง ทุกครั้งที่ฉันเห็น Glenn เขาทำงานอย่างบ้าคลั่งและรักมันทุกนาที

คืนนี้ฉันช่วย Glenn เกี่ยวกับปัญหา Google Map สองสามข้อ ฉันต้องการแบ่งปันกับคุณ... วาดวงกลมบน Google แผนที่ มันจบลงแล้ว (เท่าที่ฉันรู้) คุณไม่สามารถวาดวงกลมได้จริงๆ อย่างไรก็ตาม คุณมีความสามารถในการวาดเส้นหลายเส้นและเวกเตอร์ตามที่เห็นสมควร ดังนั้น โค้ดสามารถสร้างขึ้นเพื่อรวม 36 ส่วนเข้าด้วยกันและทำมุมเวกเตอร์เล็กน้อยเพื่อให้รวมกันเป็นวงกลมที่สมบูรณ์!

โพลีไลน์เขียนด้วย VML (ภาษามาร์กอัปของเวกเตอร์) ดังนั้นจึงต้องระบุไว้ในส่วนหัวของไฟล์เพื่อให้ IE แสดงผลได้อย่างถูกต้อง Firefox ทำโดยอัตโนมัติ (แน่นอน!)

นี่คือตัวอย่างที่จะวาดวงกลม 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 (GPolyline ใหม่ (PGpoints, PGcolor, PGwidth, PGtrans)); } else {var pxWidth = Math.round (PGlat * yyPx / latSpan + 0.5); // ความกว้างของ polyline var deltaLat = 250 * latSpan / yyPx; ถ้า (pxWidth> 500) {pxWidth = 500; PGlat - = deltaLat; } else {PGlat / = 2; };

ดูการสาธิตทั้งหมดเพื่อดูโค้ดแบบเต็ม ฉันเกิดขึ้นกับฟังก์ชันที่ไซต์นี้ ซึ่งเขามีวงกลมหลายชั้นบนแผนที่เดียวที่มีพื้นที่แรเงา

คุณคิดอย่างไร?

ไซต์นี้ใช้ Akismet เพื่อลดสแปม เรียนรู้วิธีการประมวลผลข้อมูลความคิดเห็นของคุณ.