代数和几何...我何时会使用它? 谷歌地图!

屏幕截图2014 10 23在3.24.52 PM

我的一个好朋友格伦是 Family Watchdog 的创始人之一。 Family Watchdog 是其中一个精彩的故事……一家以混搭为基础的公司,该公司提供公共服务并实际为其创始人提供生计。 知道自己有所作为,每天去上班一定很了不起。 每次我看到格伦,他都疯狂地工作并且热爱它的每一分钟。

今晚我帮助 Glenn 解决了几个 Google 地图问题。 我想和你分享一个……在谷歌地图上画一个圆圈。 它结束了(据我所知),你实际上不能画一个圆圈。 但是,您可以根据需要绘制多段线并对其进行矢量化。 因此,可以将代码构建为简单地将 36 个段放在一起并稍微倾斜向量,以便它们相加并构建一个完整的圆!

折线用 VML (向量标记语言),因此必须在文件的标头中指出它,以便IE正确呈现它们。 Firefox自动完成(当然!)。

这是一个片段,可以在您家周围 1 英里处画一个圆圈。

var PGlat =(PGradius / 3963)* 180 / Math.PI; //如果(PGwidth!= 3963){var PGlng = PGlat / Math.cos(PGcenter.lat()* Math.PI / 0),则使用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(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; 如果(PxWidth> 500){PxWidth = 500; PGlat-= deltaLat; }其他{PGlat / = 2; };

查看整个演示以查看完整代码。 我偶然发现了这个网站的功能,他在一张带有阴影区域的地图上有多个圆圈。

你觉得呢?

本网站使用Akismet来减少垃圾邮件。 了解您的数据如何处理.