Esempio n. 1
0
 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);
         }
     }
 }
Esempio n. 2
0
 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);
     }
 }