Components ~ Google Map
image
Visualize the World

The Google Maps component is a Silva.JS showcase component that demonstrates and tests key component functionality, such as loading, instantiation, lifecycle events and dynamic rendering.

Demo
Multiple maps

The below demo places 4 instances of a GoogleMap component inside a ratio grid that will maintain its aspect ratio upon resize. Each component has its own scope and responds to resize, breakpoint and orientation changes.

API
Server rendered

A Google Map component can be auto loaded and initialized by simply placing the correct markup in DOM:

Param Description
data-component Indicates that this is a silva-component.
data-component-init Auto initialize this component instance
data-module Code module corresponding to this component
data-lat Latitude of position to center map on
data-lng Longitude of position to center map on
data-zoom Initial zoom level of map
id Unique instance id

The lat, lng and zoom attributes are observed, meaning, if you change them in the DOM, the component instance will respond to this new state.

API
Server rendered, lazy loaded

A component can be lazily instantiated upon scrolling into view, simply by using the attribute data-component-watch instead of data-component-init. The watch toggle allows any component, including components that are not lazily loaded, to listen to the inviewport and outviewport events.

API
JS Object

Auto-initialized components can be accessed as instances, and then interacted with. The below code gets a handle to a specific map instance, and changes the zoom level of the map:

Param Description
Map.lat Latitude of position to center map on
Map.lng Longitude of position to center map on
Map.zoom Zoom level of map
API
Client rendered

Components can be client-rendered by inserting the correct markup in the DOM and then instantiating a component: