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));
     }
 }
 /**
  * {@inheritdoc}
  */
 public function encode(Encoder $encoder, $flags = null)
 {
     return $encoder->encodeArguments($this->getArguments(), $flags);
 }
Beispiel #3
0
 /**
  * Encode the div icon.
  *
  * @param DivIcon $icon    The div icon.
  * @param Encoder $encoder The encoder.
  *
  * @return string
  */
 public function encodeDivIcon(DivIcon $icon, Encoder $encoder)
 {
     return sprintf('%s = L.DivIcon(%s);', $encoder->encodeReference($icon), $encoder->encodeArguments(array($icon->getOptions())));
 }
Beispiel #4
0
 /**
  * {@inheritdoc}
  */
 public function encode(Encoder $encoder, $flags = true)
 {
     $buffer = sprintf('%s = L.geoJson.ajax(%s)%s', $encoder->encodeReference($this), $encoder->encodeArguments(array($this->url, $this->getOptions())), $encoder->close($flags));
     foreach ($this->getLayers() as $layer) {
         $buffer .= "\n";
         $buffer .= sprintf('%s.addLayer(%s);', $encoder->encodeReference($this), $encoder->encodeReference($layer));
     }
     return $buffer;
 }
Beispiel #5
0
 /**
  * Compile a control.
  *
  * @param string  $type    The control type.
  * @param Control $control The control definition.
  * @param Encoder $encoder The encoder.
  *
  * @return string
  */
 private function doControlEncode($type, Control $control, Encoder $encoder)
 {
     return sprintf('%s = L.control.%s(%s);', $encoder->encodeReference($control), $type, $encoder->encodeArguments(array($control->getOptions())));
 }
Beispiel #6
0
 /**
  * Encode a circle.
  * 
  * @param string  $type    The circle type.
  * @param Circle  $circle  The circle object.
  * @param Encoder $builder The builder.
  *
  * @return array
  */
 private function doCircleEncode($type, Circle $circle, Encoder $builder)
 {
     return sprintf('%s = L.%s(%s);', $builder->encodeReference($circle), $type, $builder->encodeArguments(array($circle->getLatLng(), $circle, $circle->getOptions())));
 }
 /**
  * Encode a tile layer.
  *
  * @param TileLayer $layer   The layer.
  * @param Encoder   $builder The builder.
  *
  * @return bool
  */
 public function encodeTileLayer(TileLayer $layer, Encoder $builder)
 {
     return sprintf('%s = L.tileLayer(%s);', $builder->encodeReference($layer), $builder->encodeArguments(array($layer->getUrl(), $layer->getOptions())));
 }
Beispiel #8
0
 /**
  * Encode a marker.
  *
  * @param Marker  $marker  The marker.
  * @param Encoder $encoder The encoder.
  *
  * @return bool
  */
 public function encodeMarker(Marker $marker, Encoder $encoder)
 {
     return sprintf('%s = L.marker(%s);', $encoder->encodeReference($marker), $encoder->encodeArguments(array($marker->getLatLng(), $marker->getOptions())));
 }