Joomla Platform  13.1
Documentation des API du framework Joomla Platform
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Référence de la classe JGoogleEmbedMaps
+ Graphe d'héritage de JGoogleEmbedMaps:
+ Graphe de collaboration de JGoogleEmbedMaps:

Liste de tous les membres

Fonctions membres publiques

 __construct (JRegistry $options=null, JUri $uri=null, JHttp $http=null)
 getKey ()
 setKey ($key)
 getMapID ()
 setMapID ($id)
 getMapClass ()
 setMapClass ($class)
 getMapStyle ()
 setMapStyle ($style)
 getMapType ()
 setMapType ($type)
 getAdditionalMapOptions ()
 setAdditionalMapOptions ($options)
 getAdditionalJavascript ()
 setAdditionalJavascript ($script)
 getZoom ()
 setZoom ($zoom)
 getCenter ()
 setCenter ($location, $title=true, $markeroptions=array())
 addMarker ($location, $title=null, $options=array())
 listMarkers ()
 deleteMarker ($index=null)
 isAsync ()
 useAsync ()
 useSync ()
 getAsyncCallback ()
 setAsyncCallback ($callback)
 hasSensor ()
 useSensor ()
 noSensor ()
 getAutoload ()
 setAutoload ($type= 'onload')
 getHeader ()
 getBody ()
 geocodeAddress ($address)
- Fonctions membres publiques inherited from JGoogleEmbed
 __construct (JRegistry $options=null, JUri $uri=null)
 isSecure ()
 echoHeader ()
 echoBody ()
 getOption ($key)
 setOption ($key, $value)

Attributs protégés

 $http
- Attributs protégés inherited from JGoogleEmbed
 $options
 $uri

Description détaillée

Définition à la ligne 19 du fichier maps.php.


Documentation des constructeurs et destructeur

JGoogleEmbedMaps::__construct ( JRegistry  $options = null,
JUri  $uri = null,
JHttp  $http = null 
)

Constructor.

Paramètres:
JRegistry$optionsGoogle options object
JUri$uriURL of the page being rendered
JHttp$httpHttp client for geocoding requests
Depuis:
12.3

Définition à la ligne 37 du fichier maps.php.

{
parent::__construct($options = null, $uri = null);
$this->http = $http ? $http : new JHttp($this->options);
}

Documentation des fonctions membres

JGoogleEmbedMaps::addMarker (   $location,
  $title = null,
  $options = array() 
)

Add a marker to the map

Paramètres:
mixed$locationA latitude longitude array or an address string
mixed$titleThe hover-text for the marker
array$optionsOptions for marker
Renvoie:
mixed The marker or false on failure
Depuis:
12.3

Définition à la ligne 331 du fichier maps.php.

{
if (is_string($location))
{
if (!$title)
{
$title = $location;
}
$geocode = $this->geocodeAddress($location);
if (!$geocode)
{
return false;
}
$location = $geocode['geometry']['location'];
}
elseif (!$title)
{
$title = implode(', ', $location);
}
$location = array_values($location);
$marker = array('loc' => $location, 'title' => $title, 'options' => $options);
$markers = $this->listMarkers();
$markers[] = $marker;
$this->setOption('markers', $markers);
return $marker;
}
JGoogleEmbedMaps::deleteMarker (   $index = null)

Delete a marker from the map

Paramètres:
int$indexIndex of marker to delete (defaults to last added marker)
Renvoie:
array The latitude/longitude of the deleted marker
Depuis:
12.3

Définition à la ligne 385 du fichier maps.php.

{
$markers = $this->listMarkers();
if ($index === null)
{
$index = count($markers) - 1;
}
if ($index >= count($markers) || $index < 0)
{
throw new OutOfBoundsException('Marker index out of bounds.');
}
$marker = $markers[$index];
unset($markers[$index]);
$markers = array_values($markers);
$this->setOption('markers', $markers);
return $marker;
}
JGoogleEmbedMaps::geocodeAddress (   $address)

Method to get the location information back from an address

Paramètres:
string$addressThe address to geocode
Renvoie:
array An array containing Google's geocode data
Depuis:
12.3

Définition à la ligne 675 du fichier maps.php.

{
$url = 'http://maps.googleapis.com/maps/api/geocode/json?sensor=false&address=' . urlencode($address);
$response = $this->http->get($url);
if ($response->code < 200 || $response->code >= 300)
{
throw new RuntimeException('Error code ' . $response->code . ' received geocoding address: ' . $response->body . '.');
}
$data = json_decode($response->body, true);
if (!$data)
{
throw new RuntimeException('Invalid json received geocoding address: ' . $response->body . '.');
}
if ($data['status'] != 'OK')
{
return null;
}
return $data['results'][0];
}
JGoogleEmbedMaps::getAdditionalJavascript ( )

Method to get additional map options

Renvoie:
string The options
Depuis:
12.3

Définition à la ligne 218 du fichier maps.php.

{
return $this->getOption('extrascript') ? $this->getOption('extrascript') : '';
}
JGoogleEmbedMaps::getAdditionalMapOptions ( )

Method to get additional map options

Renvoie:
string The options
Depuis:
12.3

Définition à la ligne 190 du fichier maps.php.

{
return $this->getOption('mapoptions') ? $this->getOption('mapoptions') : array();
}
JGoogleEmbedMaps::getAsyncCallback ( )

Method to get callback function for async javascript loading

Renvoie:
string The ID
Depuis:
12.3

Définition à la ligne 454 du fichier maps.php.

{
return $this->getOption('callback') ? $this->getOption('callback') : 'initialize';
}
JGoogleEmbedMaps::getAutoload ( )

Checks how the script should be loaded

Renvoie:
string Autoload type (onload, jquery, mootools, or false)
Depuis:
12.3

Définition à la ligne 522 du fichier maps.php.

{
return $this->getOption('autoload') ? $this->getOption('autoload') : 'false';
}
JGoogleEmbedMaps::getBody ( )

Method to retrieve the div that the map is loaded into

Renvoie:
string The body
Depuis:
12.3

Réimplémentée à partir de JGoogleEmbed.

Définition à la ligne 643 du fichier maps.php.

{
$id = $this->getMapID();
$class = $this->getMapClass();
$style = $this->getMapStyle();
$output = "<div id='{$id}'";
if (!empty($class))
{
$output .= " class='{$class}'";
}
if (!empty($style))
{
$output .= " style='{$style}'";
}
$output .= '></div>';
return $output;
}
JGoogleEmbedMaps::getCenter ( )

Method to set the center of the map

Renvoie:
mixed A latitude longitude array or an address string
Depuis:
12.3

Définition à la ligne 274 du fichier maps.php.

{
return $this->getOption('mapcenter') ? $this->getOption('mapcenter') : array(0, 0);
}
JGoogleEmbedMaps::getHeader ( )

Get code to load Google Maps javascript

Renvoie:
string Javascript code
Depuis:
12.3

Réimplémentée à partir de JGoogleEmbed.

Définition à la ligne 550 du fichier maps.php.

{
if (!$this->getOption('key'))
{
throw new UnexpectedValueException('A Google Maps API key is required.');
}
$zoom = $this->getZoom();
$center = $this->getCenter();
$maptype = $this->getMapType();
$id = $this->getMapID();
$scheme = $this->isSecure() ? 'https' : 'http';
$key = $this->getKey();
$sensor = $this->hasSensor() ? 'true' : 'false';
$setup = 'var mapOptions = {';
$setup .= "zoom: {$zoom},";
$setup .= "center: new google.maps.LatLng({$center[0]},{$center[1]}),";
$setup .= "mapTypeId: google.maps.MapTypeId.{$maptype},";
$setup .= substr(json_encode($this->getAdditionalMapOptions()), 1, -1);
$setup .= '};';
$setup .= "var map = new google.maps.Map(document.getElementById('{$id}'), mapOptions);";
foreach ($this->listMarkers() as $marker)
{
$loc = $marker['loc'];
$title = $marker['title'];
$options = $marker['options'];
$setup .= 'new google.maps.Marker({';
$setup .= "position: new google.maps.LatLng({$loc[0]},{$loc[1]}),";
$setup .= 'map: map,';
$setup .= "title:'{$title}',";
$setup .= substr(json_encode($options), 1, -1);
$setup .= '});';
}
$setup .= $this->getAdditionalJavascript();
if ($this->isAsync())
{
$asynccallback = $this->getAsyncCallback();
$output = '<script type="text/javascript">';
$output .= "function {$asynccallback}() {";
$output .= $setup;
$output .= '}';
$onload = "function() {";
$onload .= 'var script = document.createElement("script");';
$onload .= 'script.type = "text/javascript";';
$onload .= "script.src = '{$scheme}://maps.googleapis.com/maps/api/js?key={$key}&sensor={$sensor}&callback={$asynccallback}';";
$onload .= 'document.body.appendChild(script);';
$onload .= '}';
}
else
{
$output = "<script type='text/javascript' src='{$scheme}://maps.googleapis.com/maps/api/js?key={$key}&sensor={$sensor}'>";
$output .= '</script>';
$output .= '<script type="text/javascript">';
$onload = "function() {";
$onload .= $setup;
$onload .= '}';
}
switch ($this->getAutoload())
{
case 'onload':
$output .= "window.onload={$onload};";
break;
case 'jquery':
$output .= "$(document).ready({$onload});";
break;
case 'mootools':
$output .= "window.addEvent('domready',{$onload});";
break;
}
$output .= '</script>';
return $output;
}
JGoogleEmbedMaps::getKey ( )

Method to get the API key

Renvoie:
string The Google Maps API key
Depuis:
12.3

Définition à la ligne 50 du fichier maps.php.

{
return $this->getOption('key');
}
JGoogleEmbedMaps::getMapClass ( )

Method to get the class of the map div

Renvoie:
string The class
Depuis:
12.3

Définition à la ligne 106 du fichier maps.php.

{
return $this->getOption('mapclass') ? $this->getOption('mapclass') : '';
}
JGoogleEmbedMaps::getMapID ( )

Method to get the id of the map div

Renvoie:
string The ID
Depuis:
12.3

Définition à la ligne 78 du fichier maps.php.

{
return $this->getOption('mapid') ? $this->getOption('mapid') : 'map_canvas';
}
JGoogleEmbedMaps::getMapStyle ( )

Method to get the style of the map div

Renvoie:
string The style
Depuis:
12.3

Définition à la ligne 134 du fichier maps.php.

{
return $this->getOption('mapstyle') ? $this->getOption('mapstyle') : '';
}
JGoogleEmbedMaps::getMapType ( )

Method to get the map type setting

Renvoie:
string The class
Depuis:
12.3

Définition à la ligne 162 du fichier maps.php.

{
return $this->getOption('maptype') ? $this->getOption('maptype') : 'ROADMAP';
}
JGoogleEmbedMaps::getZoom ( )

Method to get the zoom

Renvoie:
int The zoom level
Depuis:
12.3

Définition à la ligne 246 du fichier maps.php.

{
return $this->getOption('zoom') ? $this->getOption('zoom') : 0;
}
JGoogleEmbedMaps::hasSensor ( )

Checks if a sensor is set to be required

Renvoie:
boolean True if asynchronous
Depuis:
12.3

Définition à la ligne 482 du fichier maps.php.

{
return $this->getOption('sensor') === null ? false : $this->getOption('sensor');
}
JGoogleEmbedMaps::isAsync ( )

Checks if the javascript is set to be asynchronous

Renvoie:
boolean True if asynchronous
Depuis:
12.3

Définition à la ligne 414 du fichier maps.php.

{
return $this->getOption('async') === null ? true : $this->getOption('async');
}
JGoogleEmbedMaps::listMarkers ( )

List the markers added to the map

Renvoie:
array A list of markers
Depuis:
12.3

Définition à la ligne 371 du fichier maps.php.

{
return $this->getOption('markers') ? $this->getOption('markers') : array();
}
JGoogleEmbedMaps::noSensor ( )

Don't require access to sensor data

Renvoie:
JGoogleEmbedAMaps The object for method chaining
Depuis:
12.3

Définition à la ligne 508 du fichier maps.php.

{
$this->setOption('sensor', false);
return $this;
}
JGoogleEmbedMaps::setAdditionalJavascript (   $script)

Method to add additional javascript

Paramètres:
array$scriptAdditional javascript
Renvoie:
JGoogleEmbedMaps The object for method chaining
Depuis:
12.3

Définition à la ligne 232 du fichier maps.php.

{
$this->setOption('extrascript', $script);
return $this;
}
JGoogleEmbedMaps::setAdditionalMapOptions (   $options)

Method to add additional map options

Paramètres:
array$optionsAdditional map options
Renvoie:
JGoogleEmbedMaps The object for method chaining
Depuis:
12.3

Définition à la ligne 204 du fichier maps.php.

{
$this->setOption('mapoptions', $options);
return $this;
}
JGoogleEmbedMaps::setAsyncCallback (   $callback)

Method to set the callback function for async javascript loading

Paramètres:
string$callbackThe callback function name
Renvoie:
JGoogleEmbedMaps The object for method chaining
Depuis:
12.3

Définition à la ligne 468 du fichier maps.php.

{
$this->setOption('callback', $callback);
return $this;
}
JGoogleEmbedMaps::setAutoload (   $type = 'onload')

Automatically add the callback to the window

Paramètres:
string$typeThe method to add the callback (options are onload, jquery, mootools, and false)
Renvoie:
JGoogleEmbedAMaps The object for method chaining
Depuis:
12.3

Définition à la ligne 536 du fichier maps.php.

{
$this->setOption('autoload', $type);
return $this;
}
JGoogleEmbedMaps::setCenter (   $location,
  $title = true,
  $markeroptions = array() 
)

Method to set the center of the map

Paramètres:
mixed$locationA latitude/longitude array or an address string
mixed$titleTitle of marker or false for no marker
array$markeroptionsOptions for marker
Renvoie:
JGoogleEmbedMaps The latitude/longitude of the center or false on failure
Depuis:
12.3

Définition à la ligne 290 du fichier maps.php.

{
if ($title)
{
$title = is_string($title) ? $title : null;
if (!$marker = $this->addMarker($location, $title, $markeroptions))
{
return false;
}
$location = $marker['loc'];
}
elseif (is_string($location))
{
$geocode = $this->geocodeAddress($location);
if (!$geocode)
{
return false;
}
$location = $geocode['geometry']['location'];
$location = array_values($location);
}
$this->setOption('mapcenter', $location);
return $this;
}
JGoogleEmbedMaps::setKey (   $key)

Method to set the API key

Paramètres:
string$keyThe Google Maps API key
Renvoie:
JGoogleEmbedMaps The object for method chaining
Depuis:
12.3

Définition à la ligne 64 du fichier maps.php.

{
$this->setOption('key', $key);
return $this;
}
JGoogleEmbedMaps::setMapClass (   $class)

Method to set the map div class

Paramètres:
string$classThe class
Renvoie:
JGoogleEmbedMaps The object for method chaining
Depuis:
12.3

Définition à la ligne 120 du fichier maps.php.

{
$this->setOption('mapclass', $class);
return $this;
}
JGoogleEmbedMaps::setMapID (   $id)

Method to set the map div id

Paramètres:
string$idThe ID
Renvoie:
JGoogleEmbedMaps The object for method chaining
Depuis:
12.3

Définition à la ligne 92 du fichier maps.php.

{
$this->setOption('mapid', $id);
return $this;
}
JGoogleEmbedMaps::setMapStyle (   $style)

Method to set the map div style

Paramètres:
string$styleThe style
Renvoie:
JGoogleEmbedMaps The object for method chaining
Depuis:
12.3

Définition à la ligne 148 du fichier maps.php.

{
$this->setOption('mapstyle', $style);
return $this;
}
JGoogleEmbedMaps::setMapType (   $type)

Method to set the map type ()

Paramètres:
string$typeValid types are ROADMAP, SATELLITE, HYBRID, and TERRAIN
Renvoie:
JGoogleEmbedMaps The object for method chaining
Depuis:
12.3

Définition à la ligne 176 du fichier maps.php.

{
$this->setOption('maptype', strtoupper($type));
return $this;
}
JGoogleEmbedMaps::setZoom (   $zoom)

Method to set the map zoom

Paramètres:
int$zoomZoom level (0 is whole world)
Renvoie:
JGoogleEmbedMaps The object for method chaining
Depuis:
12.3

Définition à la ligne 260 du fichier maps.php.

{
$this->setOption('zoom', $zoom);
return $this;
}
JGoogleEmbedMaps::useAsync ( )

Load javascript asynchronously

Renvoie:
JGoogleEmbedMaps The object for method chaining
Depuis:
12.3

Définition à la ligne 426 du fichier maps.php.

{
$this->setOption('async', true);
return $this;
}
JGoogleEmbedMaps::useSensor ( )

Require access to sensor data

Renvoie:
JGoogleEmbedMaps The object for method chaining
Depuis:
12.3

Définition à la ligne 494 du fichier maps.php.

{
$this->setOption('sensor', true);
return $this;
}
JGoogleEmbedMaps::useSync ( )

Load javascript synchronously

Renvoie:
JGoogleEmbedAMaps The object for method chaining
Depuis:
12.3

Définition à la ligne 440 du fichier maps.php.

{
$this->setOption('async', false);
return $this;
}

Documentation des données membres

JGoogleEmbedMaps::$http
protected

Définition à la ligne 26 du fichier maps.php.


La documentation de cette classe a été générée à partir du fichier suivant :