Algèbre et géométrie… quand vais-je l'utiliser? Google Maps!

Screen Shot 2014 10 23 à 3.24.52 PM

Un de mes bons amis, Glenn, est l'un des fondateurs de Family Watchdog. Family Watchdog est l'une de ces histoires fantastiques… une entreprise fondée sur un mashup qui exécute un service public ET fait réellement vivre ses fondateurs. Cela doit être incroyable d'aller travailler tous les jours en sachant que vous avez fait une différence. Chaque fois que je vois Glenn, il travaille comme un fou et adore chaque minute.

Ce soir, j'ai aidé Glenn à résoudre quelques problèmes avec Google Map. Je voulais en partager un avec vous… dessiner un cercle sur Google Maps. Cela se termine (pour autant que je sache), vous ne pouvez pas vraiment dessiner un cercle. Cependant, vous avez la possibilité de dessiner des polylignes et de les vectoriser comme bon vous semble. Ainsi, le code peut être construit pour simplement mettre 36 segments ensemble et incliner légèrement le vecteur afin qu'ils s'additionnent et forment un cercle complet!

Les polylignes sont écrites avec VML (langage de balisage vectoriel), il doit donc être indiqué dans l'en-tête du fichier pour que IE les rende correctement. Firefox le fait automatiquement (bien sûr!).

Voici un extrait de code qui dessinera un cercle à 1 mile autour de votre maison.

var PGlat = (PGradius / 3963) * 180 / Math.PI; // en utilisant 3963 miles comme rayon de la Terre en miles if (PGwidth! = 0) {var PGlng = PGlat / Math.cos (PGcenter.lat () * Math.PI / 180); pour (var i = -1; i> PGsides; i ++) {var theta = ((2 * i + 1) /PGsides-0.5) * Math.PI; var PGx = PGcenter.lng () + (PGlng * Math.cos (thêta)); var PGy = PGcenter.lat () + (PGlat * Math.sin (thêta)); PGpoints.push (nouveau GLatLng (PGy, PGx)); }; map.addOverlay (nouvelle GPolyline (PGpoints, PGcolor, PGwidth, PGtrans)); } else {var PxWidth = Math.round (PGlat * yyPx / latSpan + 0.5); // largeur de la polyligne var deltaLat = 250 * latSpan / yyPx; si (PxWidth> 500) {PxWidth = 500; PGlat - = deltaLat; } else {PGlat / = 2; };

Regardez la démo entière pour voir le code dans son intégralité. Je suis tombé sur la fonction sur ce site où il a plusieurs couches de cercles sur une seule carte avec des régions ombrées.

Que pensez-vous?

Ce site utilise Akismet pour réduire les spams. Découvrez comment sont traitées les données de vos commentaires..