Beispiel #1
0
 /**
  * Compile a map.
  *
  * @param Map     $map     The map.
  * @param Encoder $encoder The builder.
  *
  * @return void
  */
 public function encodeMap(Map $map, Encoder $encoder)
 {
     $output = $encoder->getOutput();
     $hash = spl_object_hash($map);
     if (!isset($this->initialized[$hash])) {
         $output->prepend(sprintf('%s = L.map(%s);', $encoder->encodeReference($map), $encoder->encodeArguments(array($map->getElementId(), $map->getOptions()))));
         $this->initialized[$hash] = true;
     } else {
         foreach ($map->getControls() as $control) {
             $encoder->encodeReference($control);
         }
         foreach ($map->getLayers() as $layer) {
             $encoder->encodeReference($layer);
         }
         $output->append($this->encodeMethodCalls($map->getMethodCalls(), $encoder));
     }
 }