public function init($args) { parent::init($args); $baseURLs = $args['BASE_URL']; if (!is_array($baseURLs)) { $baseURLs = array($baseURLs); } foreach ($baseURLs as $baseURL) { // TODO find a better way to reuse JSON parsing code for ArcGIS-related data $url = $baseURL . '?' . http_build_query(array('f' => 'json')); $content = file_get_contents($url); $data = json_decode($content, true); // this is a tiled service if (isset($data['tileInfo'], $data['tileInfo']['lods'])) { $this->levelsOfDetail = $data['tileInfo']['lods']; $this->tiledLayer = $baseURL; } else { $this->dynamicLayers[] = $baseURL; } if (isset($data['spatialReference'], $data['spatialReference']['wkid'])) { $wkid = $data['spatialReference']['wkid']; $this->setMapProjection($wkid); } } }
public function init($args) { parent::init($args); $baseURL = $args['BASE_URL']; if (is_array($baseURL)) { $this->baseURL = array_shift($baseURL); } else { $this->baseURL = $baseURL; } // TODO find a better way to reuse JSON parsing code for ArcGIS-related data $url = $this->baseURL . '?' . http_build_query(array('f' => 'json')); $content = file_get_contents($url); $data = json_decode($content, true); if (isset($data['spatialReference'], $data['spatialReference']['wkid'])) { $wkid = $data['spatialReference']['wkid']; $this->setMapProjection($wkid); } if (isset($data['tileInfo'], $data['tileInfo']['lods'])) { $this->levelsOfDetail = $data['tileInfo']['lods']; } if (is_array($baseURL)) { $this->addLayers($baseURL); } }