대수와 기하학… 언제 사용합니까? 구글지도!

스크린 샷 2014 10 23 (3.24.52 PM)

내 좋은 친구 인 Glenn은 Family Watchdog의 창립자 중 한 명입니다. Family Watchdog은 그 환상적인 이야기 중 하나입니다. 매시업을 기반으로 설립 된 회사는 공공 서비스를 수행하고 실제로 설립자에게 생계를 제공합니다. 당신이 변화를 가져 왔다는 사실을 알고 매일 출근하는 것은 놀랍습니다. 글렌을 볼 때마다 그는 미친 듯이 일하고 매 순간을 사랑합니다.

오늘 밤 저는 몇 가지 Google지도 문제로 Glenn을 도왔습니다. 하나를 공유하고 싶었습니다. Google지도에 원을 그립니다. (내가 아는 한) 실제로 원을 그릴 수는 없습니다. 그러나 폴리 라인을 그리고 적절하게 벡터화 할 수 있습니다. 따라서 코드는 36 개의 세그먼트를 모아서 벡터의 각도를 약간 기울여서 합산하여 완전한 원을 만들도록 만들 수 있습니다!

폴리 라인은 VML (벡터 마크 업 언어), IE가 제대로 렌더링하려면 파일 헤더에 표시되어야합니다. Firefox는 자동으로 수행합니다 (물론!).

다음은 집 주변 1 마일에 원을 그리는 스 니펫입니다.

var PGlat = (PGradius / 3963) * 180 / Math.PI; // 3963 마일을 지구 반경 (마일)으로 사용 if (PGwidth! = 0) {var PGlng = PGlat / Math.cos (PGcenter.lat () * Math.PI / 180); for (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 (new GLatLng (PGy, PGx)); }; map.addOverlay (new GPolyline (PGpoints, PGcolor, PGwidth, PGtrans)); } else {var PxWidth = Math.round (PGlat * yyPx / latSpan + 0.5); // 폴리 라인의 너비 var deltaLat = 250 * latSpan / yyPx; if (PxWidth> 500) {PxWidth = 500; PGlat-= deltaLat; } else {PGlat / = 2; };

코드 전체를 보려면 전체 데모를보십시오. 저는이 사이트의 기능에서 발생했습니다. 그는 음영 영역이있는 단일 맵에 여러 개의 원 레이어가 있습니다.

당신은 어떻게 생각하십니까?

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터 처리 방법 알아보기.