コード例 #1
0
ファイル: Maps_Layers.php プロジェクト: gwdgithubnom/Maps
 /**
  * Returns a new instance of a layer class for the provided layer type to create
  * an actual layer definition based on the basic layer type class.
  *
  * @since 3.0
  *
  * @param string $type name of the basic layer type.
  * @param array  $properties definition describing the layer characteristics.
  * @param string $name optional name to identify this particular layer within a
  *        group of layers within a layer page. If not set, an increasing numeric
  *        name will be assigned.
  *
  * @return MapsLayer
  */
 public static function newLayerFromDefinition($type, array $properties, $name = null)
 {
     $class = MapsLayerTypes::getTypesClass($type);
     if ($class !== null) {
         return new $class($properties, $name);
     } else {
         throw new exception("There is no layer class for layers of type \"{$type}\".");
     }
 }
コード例 #2
0
ファイル: Maps_KMLLayer.php プロジェクト: whysasse/kmwiki
 /**
  * Registeres the layer.
  * 
  * @since 0.7.2
  */
 public static function register()
 {
     MapsLayerTypes::registerLayerType('kml', __CLASS__, 'openlayers');
     return true;
 }
コード例 #3
0
 /**
  * Responsible for actual output on the layer page which gives an overview of the layer definition.
  *
  * @since 3.0
  *
  * @param MapsLayer
  *
  * @return string
  */
 public function renderLayerInfo(MapsLayer $layer)
 {
     global $wgLang;
     // appropriate layer header:
     if ($layer->getName() !== null) {
         // if layer with same name is defined on same page already:
         if ($this->getLayerStore()->getLayerByName($layer->getName()) !== null) {
             return $this->errorbox(wfMessage('maps-layerdef-equal-layer-name', $layer->getName())->inContentLanguage()->text());
         }
         $outHeader = wfMessage('maps-layer-of-type-and-name', $layer->getType(), $layer->getName())->inContentLanguage()->text();
     } else {
         $outHeader = wfMessage('maps-layer-of-type', $layer->getType())->inContentLanguage()->text();
     }
     $outHeader = "<span class=\"mapslayerhead\">{$outHeader}</span>";
     // info message about which services are supporting the layer(-type):
     $supportedServices = MapsLayerTypes::getServicesForType($layer->getType());
     $outServices = '<span class="mapslayersupports">' . wfMessage('maps-layer-type-supported-by', $wgLang->listToText($supportedServices), count($supportedServices))->inContentLanguage()->escaped() . '</span>';
     $outTable = $this->getLayerDefinitionTable($layer);
     return Html::rawElement('div', array('class' => 'mapslayer' . ($layer->isOk() ? '' : ' mapslayererror')), $outHeader . $outServices . $outTable);
 }
コード例 #4
0
ファイル: Maps_Layer.php プロジェクト: whysasse/kmwiki
 /**
  * Convenient function for getting mapping services supported by this layer.
  *
  * @since 3.0
  *
  * @return string[]
  */
 public final function getSupportedServices()
 {
     return MapsLayerTypes::getServicesForType($this->getType());
 }