/** * Converts the data in the coordinates parameter to JSON-ready objects. * These get stored in the locations parameter, and the coordinates on gets deleted. * * @since 1.0 * * @param array &$params * @param SMQueryHandler $queryHandler */ protected function handleMarkerData(array &$params, SMQueryHandler $queryHandler) { if (is_object($params['centre'])) { $params['centre'] = $params['centre']->getJSONObject(); } $iconUrl = MapsMapper::getFileUrl($params['icon']); $visitedIconUrl = MapsMapper::getFileUrl($params['visitedicon']); $params['locations'] = $this->getJsonForStaticLocations($params['staticlocations'], $params, $iconUrl, $visitedIconUrl); unset($params['staticlocations']); $this->addShapeData($queryHandler->getShapes(), $params, $iconUrl, $visitedIconUrl); if ($params['format'] === 'openlayers') { $params['layers'] = MapsDisplayMapRenderer::evilOpenLayersHack($params['layers']); } }