﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Alexandre JULIEN &#187; Zoom</title>
	<atom:link href="http://www.alexandre-julien.com/tag/zoom/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.alexandre-julien.com</link>
	<description>Industrialisation des développements, PHP, .NET, jQuery, HTML5, Web, …</description>
	<lastBuildDate>Sun, 22 Jan 2012 20:26:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Auto Zoom et recadrage intelligent sur une carte Google Map</title>
		<link>http://www.alexandre-julien.com/php/auto-zoom-et-recadrage-intelligent-sur-une-carte-google-map/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=auto-zoom-et-recadrage-intelligent-sur-une-carte-google-map</link>
		<comments>http://www.alexandre-julien.com/php/auto-zoom-et-recadrage-intelligent-sur-une-carte-google-map/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 18:09:41 +0000</pubDate>
		<dc:creator>Alexandre JULIEN</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[automatique]]></category>
		<category><![CDATA[Cadrage]]></category>
		<category><![CDATA[Center]]></category>
		<category><![CDATA[Google Map]]></category>
		<category><![CDATA[Phoogle]]></category>
		<category><![CDATA[Zoom]]></category>

		<guid isPermaLink="false">http://www.alexandre-julien.com/?p=444</guid>
		<description><![CDATA[Les utilisateurs de l&#8217;API Google Map sont souvent confrontés à un problème lorsqu&#8217;ils ont beaucoup de marqueurs sur une carte google map et qu&#8217;ils n&#8217;arrivent pas à avoir un cadrage cohérent et un zoom approprié.
En effet, on peut remédier à ce problème grâce aux mathématiques : il suffit de prendre  [...]]]></description>
			<content:encoded><![CDATA[<p>Les utilisateurs de l&#8217;API Google Map sont souvent confrontés à un problème lorsqu&#8217;ils ont beaucoup de marqueurs sur une carte google map et qu&#8217;ils n&#8217;arrivent pas à avoir un cadrage cohérent et un zoom approprié.</p>
<p>En effet, on peut remédier à ce problème grâce aux mathématiques : il suffit de prendre le point central entre les 2 points les plus éloignés et d&#8217;ajuster le zoom en fonction de la distance entre ces 2 derniers.</p>
<p>Le script suivant vous montre comment calculer le zoom et les coordonnées du cadrage le plus approprié à partir d&#8217;un ensemble de marqueurs. Cette fonctionnalité est disponible sur <a title="Phoogle Map" href="http://code.google.com/p/phooglemap/" target="_blank">PhoogleMap</a>.</p>
<p><span id="more-444"></span></p>
<pre lang="php">public function enableAutoZoom ()
{
$latitude_array = array();
$latitude_array = array();
foreach ($this->validPoints as $key => $value)
{
$latitude_array[] = $value['lat'];
$longitude_array[] = $value['long'];
}
$minimal_latitude = min ($latitude_array);
$maximal_latitude = max ($latitude_array);
$minimal_longitude = min ($longitude_array);
$maximal_longitude = max ($longitude_array);

$central_latitude = $minimal_latitude + ($maximal_latitude - $minimal_latitude) / 2;
$central_longitude = $minimal_longitude + ($maximal_longitude - $minimal_longitude) / 2;

$miles = (3958.75 * acos(sin($minimal_latitude / 57.2958) * sin($maximal_latitude / 57.2958) + cos($minimal_latitude / 57.2958) * cos($maximal_latitude / 57.2958) * cos($maximal_longitude / 57.2958 - $minimal_longitude / 57.2958)));

switch ($miles)
{
case ($miles < 0.2):
$zoom = 2;
break;
case ($miles < 0.5):
$zoom = 3;
break;
case ($miles < 1):
$zoom = 3;
break;
case ($miles < 2):
$zoom = 4;
break;
case ($miles < 3):
$zoom = 5;
break;
case ($miles < 7):
$zoom = 6;
break;
case ($miles < 15):
$zoom = 8;
break;

case ($miles < 50):
$zoom = 9;
break;

case ($miles < 300):
$zoom = 12;
break;

case ($miles < 600):
$zoom = 14;
break;
default:
$zoom = 16;
break;
}
$this->centerMap($central_latitude, $central_longitude);
$this->zoomLevel = $zoom;
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.alexandre-julien.com/php/auto-zoom-et-recadrage-intelligent-sur-une-carte-google-map/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 3/5 queries in 0.073 seconds using disk: basic
Object Caching 666/667 objects using disk: basic

Served from: www.alexandre-julien.com @ 2012-02-14 14:09:01 -->
