33 require_once(
"Services/Maps/classes/class.ilMapGUI.php");
42 parent::__construct();
54 $this->tile_server = $a_tile;
63 $this->geolocation_server = $a_geolocation;
76 $this->tpl =
new ilTemplate(
"tpl.openlayers_map.html",
77 true,
true,
"Services/Maps");
80 $lng->loadLanguageModule(
"maps");
81 $tpl->addJavaScript(
"Services/Maps/js/OpenLayers.js");
82 $tpl->addJavaScript(
"Services/Maps/js/ServiceOpenLayers.js");
86 foreach($this->user_marker as $user_id)
91 if ($user->getLatitude() != 0 && $user->getLongitude() != 0 &&
92 $user->getPref(
"public_location") ==
"y")
94 $this->tpl->setCurrentBlock(
"user_marker");
95 $this->tpl->setVariable(
"UMAP_ID",
97 $this->tpl->setVariable(
"CNT", $cnt);
99 $this->tpl->setVariable(
"ULAT", htmlspecialchars($user->getLatitude()));
100 $this->tpl->setVariable(
"ULONG", htmlspecialchars($user->getLongitude()));
101 $info = htmlspecialchars($user->getFirstName().
" ".$user->getLastName());
103 if ($user->getPref(
"public_institution") ==
"y")
105 $info.= $delim.htmlspecialchars($user->getInstitution());
108 if ($user->getPref(
"public_department") ==
"y")
110 $info.= $delim.htmlspecialchars($user->getDepartment());
113 if ($user->getPref(
"public_street") ==
"y")
115 $info.= $delim.htmlspecialchars($user->getStreet());
117 if ($user->getPref(
"public_zip") ==
"y")
119 $info.= $delim.htmlspecialchars($user->getZipcode());
122 if ($user->getPref(
"public_city") ==
"y")
124 $info.= $delim.htmlspecialchars($user->getCity());
127 if ($user->getPref(
"public_country") ==
"y")
129 $info.= $delim.htmlspecialchars($user->getCountry());
131 $this->tpl->setVariable(
"USER_INFO",
133 $this->tpl->setVariable(
"IMG_USER",
134 $user->getPersonalPicturePath(
"xsmall"));
135 $this->tpl->parseCurrentBlock();
141 $this->tpl->setVariable(
"MAP_ID", $this->
getMapId());
142 $this->tpl->setVariable(
"WIDTH", $this->
getWidth());
143 $this->tpl->setVariable(
"HEIGHT", $this->
getHeight());
144 $this->tpl->setVariable(
"LAT", $this->
getLatitude());
146 $this->tpl->setVariable(
"ZOOM", (
int) $this->
getZoom());
152 $this->tpl->setVariable(
"NAV_CONTROL", $nav_control);
156 $this->tpl->setVariable(
"CENTRAL_MARKER", $central_marker);
160 $this->tpl->setVariable(
"REPLACE_MARKER", $replace_marker);
163 $tile_servers = explode(
" ", $tile_servers);
164 array_walk($tile_servers,
function(&$string) { $string =
'"'.$string.
'"';});
165 $tile_servers =
'['.implode(
', ', $tile_servers).
']';
167 $this->tpl->setVariable(
"TILES", $tile_servers);
169 $this->tpl->setVariable(
"INVALID_ADDRESS_STRING",
$lng->txt(
"invalid_address"));
171 return $this->tpl->get();
179 $list_tpl =
new ilTemplate(
"tpl.openlayers_map_user_list.html",
180 true,
true,
"Services/Maps");
183 foreach($this->user_marker as $user_id)
188 $this->css_row = ($this->css_row !=
"tblrow1_mo")
191 if ($user->getLatitude() != 0 && $user->getLongitude() != 0
192 && $user->getPref(
"public_location") ==
"y")
194 $list_tpl->setCurrentBlock(
"item");
195 $list_tpl->setVariable(
"MARKER_CNT", $cnt);
196 $list_tpl->setVariable(
"MAP_ID", $this->
getMapId());
201 $list_tpl->setCurrentBlock(
"item_no_link");
203 $list_tpl->setVariable(
"CSS_ROW", $this->css_row);
204 $list_tpl->setVariable(
"TXT_USER", $user->getLogin());
205 $list_tpl->setVariable(
"IMG_USER",
206 $user->getPersonalPicturePath(
"xxsmall"));
207 $list_tpl->parseCurrentBlock();
208 $list_tpl->touchBlock(
"row");
212 return $list_tpl->get();
getTileServers()
Get HTML.
getLatitude()
Get Latitude.
static _exists($a_id, $a_reference=false, $a_type=null)
checks if an object exists in object_data
getUserListHtml()
Get User List HTML (to be displayed besides the map)
getEnableCentralMarker()
Get Enable Central Marker.
getEnableUpdateListener()
Get Activate Update Listener.
getEnableNavigationControl()
Get Use Navigation Control.
special template class to simplify handling of ITX/PEAR
setGeolocationServer($a_geolocation)
getLongitude()
Get Longitude.
User interface class for maps.
User interface class for OpenLayers maps.