summaryrefslogtreecommitdiff
path: root/protected/components/Map.php
diff options
context:
space:
mode:
Diffstat (limited to 'protected/components/Map.php')
-rw-r--r--protected/components/Map.php50
1 files changed, 50 insertions, 0 deletions
diff --git a/protected/components/Map.php b/protected/components/Map.php
new file mode 100644
index 0000000..614bbc3
--- /dev/null
+++ b/protected/components/Map.php
@@ -0,0 +1,50 @@
+<?php
+Yii::import('ext.egmap.*');
+class Map {
+ private $POS_LAT;
+ private $POS_LONG;
+ private $gMap;
+ private $publishedIcon;
+ private $notPublishedIcon;
+
+ public function __construct() {
+ $this->POS_LAT = Yii::app()->params["pos_lat"];
+ $this->POS_LONG = Yii::app()->params["pos_long"];
+ $this->gMap = new EGMap();
+ $this->gMap->setAPIKey(Yii::app()->params["map_api_domain"], Yii::app()->params["map_api_key"]);
+ $this->gMap->setWidth("100%");
+ $this->gMap->setHeight(550);
+ $this->gMap->zoom = 18;
+ $mapTypeControlOptions = array(
+ 'position' => EGMapControlPosition::RIGHT_TOP,
+ 'style' => EGMap::MAPTYPECONTROL_STYLE_HORIZONTAL_BAR
+ );
+
+ $this->gMap->mapTypeId = EGMap::TYPE_HYBRID;
+ $this->gMap->mapTypeControlOptions = $mapTypeControlOptions;
+ $this->gMap->zoom = 18;
+ $this->gMap->setCenter($this->POS_LAT, $this->POS_LONG);
+
+ // Green icon for published standorte for marker.
+ $this->publishedIcon = new EGMapMarkerImage(Html::imageUrl("map/marker_green_32.png"));
+ $this->publishedIcon->setSize(32, 37);
+ $this->publishedIcon->setAnchor(16, 16.5);
+ $this->publishedIcon->setOrigin(0, 0);
+ // Red icon for non-published standorte for marker.
+ $this->notPublishedIcon = new EGMapMarkerImage(Html::imageUrl("map/marker_red_32.png"));
+ $this->notPublishedIcon->setSize(32, 37);
+ $this->notPublishedIcon->setAnchor(16, 16.5);
+ $this->notPublishedIcon->setOrigin(0, 0);
+ }
+
+ public function addMarker(EGMapMarker $marker, $published) {
+ $options = $marker->getOptions();
+ $newOptions = array_merge($options, array("icon"=>(($published) ? $this->publishedIcon : $this->notPublishedIcon)));
+ $marker->setOptions($newOptions);
+ $this->gMap->addMarker($marker);
+ }
+
+ public function render() {
+ $this->gMap->renderMap(array(), Yii::app()->language);
+ }
+} \ No newline at end of file