Álgebra e geometria ... quando vou usá-lo? Google Maps!

Screen Shot 2014 10 23 no 3.24.52 PM

Um bom amigo meu, Glenn, é um dos fundadores da Family Watchdog. Family Watchdog é uma daquelas histórias fantásticas ... uma empresa fundada em um mashup que está prestando um serviço público E, na verdade, fornecendo um sustento para seus fundadores. Deve ser incrível ir para o trabalho todos os dias sabendo que você fez a diferença. Cada vez que vejo Glenn, ele está trabalhando como um louco e amando cada minuto.

Esta noite ajudei Glenn com alguns problemas do Google Maps. Eu queria compartilhar um com você ... desenhando um círculo no Google Maps. Acaba (até onde eu sei), você não pode realmente desenhar um círculo. No entanto, você tem a capacidade de desenhar polilinhas e vetorá-las conforme desejar. Portanto, o código pode ser construído para simplesmente colocar 36 segmentos juntos e ligeiramente inclinar o vetor para que eles se somam e construam um círculo completo!

As polilinhas são escritas com VML (linguagem de marcação vetorial), portanto, deve ser indicado no cabeçalho do arquivo para que o IE os processe corretamente. O Firefox faz isso automaticamente (é claro!).

Aqui está um trecho que desenhará um círculo de 1 km ao redor de sua casa.

var PGlat = (PGradius / 3963) * 180 / Math.PI; // usando 3963 milhas como o raio da Terra em milhas if (PGwidth! = 0) {var PGlng = PGlat / Math.cos (PGcenter.lat () * Math.PI / 180); para (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 (novo GLatLng (PGy, PGx)); }; map.addOverlay (novo GPolyline (PGpoints, PGcolor, PGwidth, PGtrans)); } else {var PxWidth = Math.round (PGlat * yyPx / latSpan + 0.5); // largura da polilinha var deltaLat = 250 * latSpan / yyPx; if (PxWidth> 500) {PxWidth = 500; PGlat - = deltaLat; } mais {PGlat / = 2; };

Veja a demonstração completa para ver o código completo. Encontrei a função neste local onde ele tem várias camadas de círculos em um único mapa com regiões sombreadas.

O que você acha?

Este site usa o Akismet para reduzir o spam. Saiba como seus dados de comentário são processados.