 #  Content - MiniGlobe Documentation 

 

- Extension Page: [Content - MiniGlobe](/software/joomla/plugins/content-miniglobe)

## Overview

Content - MiniGlobe is a Joomla content plugin that embeds interactive 3D globes into your articles using a simple {miniglobe} tag. **Built with pure WebGL2** (no external dependencies), it renders lightweight, highly optimized globes with a canvas element inside a &lt;div&gt; with the plg\_content\_miniglobe class. Perfect for adding visually striking, data-driven infographics, MiniGlobe supports custom textures, intelligent dynamic markers, procedural land/ocean coloring, optional atmospheric effects, and responsive sizing to fit any container.

**Version 5.2+ represents a complete rewrite**: the core JavaScript is just 52KB (92% smaller than the previous Three.js-based version), with no external dependencies.

---

## Installation

1. Download Content - MiniGlobe from the repository linked here [Content - MiniGlobe](/software/joomla/plugins/content-miniglobe)
2. Install via Joomla's Extension Manager (Extensions &gt; Manage &gt; Install).
3. Enable the plugin in the Plugin Manager (Extensions &gt; Plugins, search for "Content - MiniGlobe").
4. Configure default settings in the plugin options (optional, see Configuration below).
 
---

## Usage

Add the {miniglobe} tag to any Joomla article to embed a 3D globe. The simplest form is:

`<span>{<span>miniglobe</span>}</span>`

This renders a globe using all default settings from the plugin configuration (texture, clouds, atmosphere, etc.). The globe automatically scales to fit the width of its container, making it responsive to your site's layout. The "mini" in MiniGlobe refers to its incredibly lightweight footprint (52KB core JavaScript, under 400KB with all features and textures), not its display size.

### Tag Attributes

You can override default settings by adding attributes to the {miniglobe} tag. All attributes are optional, and unspecified attributes fall back to plugin defaults.

 | Attribute | Type | Description | Default |
|---|---|---|---|
| pauseOnHover | Boolean (0 | 1) | Enable/disable pause rotation on hover |
| textureImage | String (path) or "false" | Path to equirectangular globe texture image, or "false" for procedural rendering | media/plg\_content\_miniglobe/images/2k\_earth\_daymap.webp |
| cloudTextureImage | String (path) or null | Path to equirectangular cloud texture image | null (disabled) |
| oceanColor | JSON Array | RGB color for oceans in procedural mode: \[r,g,b\] (0-1 range) | \[0.05,0.15,0.35\] |
| landColor | JSON Array | RGB color for land in procedural mode: \[r,g,b\] (0-1 range) | \[0.2,0.45,0.15\] |
| fakeAtmosphere | Boolean (0 | 1) | Enable/disable atmospheric glow effect |
| graticule | Boolean (0 | 1) | Enable/disable latitude/longitude grid lines |
| gridColor | JSON Array | RGB color for graticule lines: \[r,g,b\] (0-1 range) | \[0.3,0.3,0.3\] |
| brightness | Float | Ambient light intensity (0 = no light, higher values increase brightness) | 1.0 |
| rotationSpeed | Float | Globe rotation speed in radians per frame | 0.01 |
| cloudRotationSpeed | Float | Cloud layer rotation speed (relative to globe) | 1.5 |
| cloudScale | Float | Cloud layer size relative to globe (1.0 = same size) | 1.01 |
| cloudOpacity | Float | Cloud layer opacity (0-1 range) | 0.8 |
| markerColor | JSON Array or Hex String | Default marker color: \[r,g,b\] or "`#ff0000`" | \[1.0,0.0,0.0\] |
| markerSize | Float | Default marker size (radius for spheres, radius for cylinders) | 0.02 |
| markerLength | Float | Default cylinder marker height | 0.1 |
| markers | JSON Array | Array of markers (see Marker Format below) | \[\] |
| markersAJAX | String (URL) | Relative or absolute URL to JSON file for dynamic markers | None |
| markersAJAXInterval | Integer | **Milliseconds** between AJAX marker updates (0 or omitted disables) | 0 (disabled) |
| markersKML | String (URL) | Relative or absolute URL to KML file for dynamic markers | None |

 

**IMPORTANT CHANGES in 5.2+:**

- `markersAJAXInterval` is now in **milliseconds** (was seconds in old version)
- `hoverStop` renamed to `pauseOnHover`
- `bumpmap` and related attributes removed (use texture with baked lighting instead)
- `speed` renamed to `rotationSpeed` and now uses radians instead of degrees
- New procedural rendering mode when `textureImage="false"`
- New atmospheric and graticule features
 
### Example Tags

Basic globe with default settings:

`<span>{<span>miniglobe</span>}</span>`

Globe with procedural land/ocean colors (no texture required):

`<span>{<span>miniglobe</span> textureImage="false" oceanColor="[0.1,0.2,0.4]" landColor="[0.3,0.5,0.2]"}</span>`

Globe with a red sphere marker in New York City, brighter lighting, and clouds:

`<span>{<span>miniglobe</span> brightness="1.5" markers='[{"lat":40.7128,"lon":-74.0060,"size":0.02,"color":[1,0,0],"type":"sphere","id":"nyc"}]' cloudTextureImage="media/plg_content_miniglobe/images/clouds.webp"}</span>`

Globe with atmospheric glow and graticule grid:

`<span>{<span>miniglobe</span> fakeAtmosphere="1" graticule="1"}</span>`

Globe with dynamic markers updated every 10 seconds via AJAX:

`<span>{<span>miniglobe</span> markersAJAX="/path/to/markers.json" markersAJAXInterval="10000"}</span>`

Note: 10000 milliseconds = 10 seconds

### Marker Format

**New in 5.2+**: Markers now use JSON objects (not arrays) and support intelligent updates with IDs.

#### Tag Attribute Format

For the `markers` attribute, provide a JSON array of marker objects:

json

 ```json
<span><span class="token">[</span>
</span><span>  <span class="token">{</span>
</span><span>    <span class="token">"lat"</span><span class="token">:</span> <span class="token">40.7128</span><span class="token">,</span>
</span><span>    <span class="token">"lon"</span><span class="token">:</span> <span class="token">-74.0060</span><span class="token">,</span>
</span><span>    <span class="token">"size"</span><span class="token">:</span> <span class="token">0.02</span><span class="token">,</span>
</span><span>    <span class="token">"color"</span><span class="token">:</span> <span class="token">[</span><span class="token">1</span><span class="token">,</span> <span class="token">0</span><span class="token">,</span> <span class="token">0</span><span class="token">]</span><span class="token">,</span>
</span><span>    <span class="token">"type"</span><span class="token">:</span> <span class="token">"sphere"</span><span class="token">,</span>
</span><span>    <span class="token">"id"</span><span class="token">:</span> <span class="token">"nyc"</span><span class="token">,</span>
</span><span>    <span class="token">"group"</span><span class="token">:</span> <span class="token">"cities"</span>
</span><span>  <span class="token">}</span><span class="token">,</span>
</span><span>  <span class="token">{</span>
</span><span>    <span class="token">"lat"</span><span class="token">:</span> <span class="token">51.5074</span><span class="token">,</span>
</span><span>    <span class="token">"lon"</span><span class="token">:</span> <span class="token">-0.1278</span><span class="token">,</span>
</span><span>    <span class="token">"size"</span><span class="token">:</span> <span class="token">0.005</span><span class="token">,</span>
</span><span>    <span class="token">"color"</span><span class="token">:</span> <span class="token">[</span><span class="token">0</span><span class="token">,</span> <span class="token">1</span><span class="token">,</span> <span class="token">0</span><span class="token">]</span><span class="token">,</span>
</span><span>    <span class="token">"type"</span><span class="token">:</span> <span class="token">"cylinder"</span><span class="token">,</span>
</span><span>    <span class="token">"length"</span><span class="token">:</span> <span class="token">0.15</span><span class="token">,</span>
</span><span>    <span class="token">"id"</span><span class="token">:</span> <span class="token">"london"</span><span class="token">,</span>
</span><span>    <span class="token">"group"</span><span class="token">:</span> <span class="token">"cities"</span>
</span><span>  <span class="token">}</span>
</span><span><span class="token">]</span></span>
```

 

 

**Marker Object Properties:**

- `lat` (required): Latitude as a float (-90 to 90)
- `lon` (required): Longitude as a float (-180 to 180)
- `type` (optional): "sphere" or "cylinder" (default: "sphere")
- `size` (optional): Float, marker size (default: plugin's markerSize setting) 
    - For spheres: radius
    - For cylinders: base radius
- `length` (optional): Float, cylinder height (only for type="cylinder", default: plugin's markerLength)
- `color` (optional): RGB array \[r,g,b\] (0-1 range) or hex string "`#ff0000`" (default: plugin's markerColor)
- `id` (optional but recommended): Unique string identifier for intelligent updates
- `group` (optional): String group name for bulk operations
 
#### AJAX/KML JSON Format

For `markersAJAX`, the JSON file must return an array of marker objects (same format as above):

json

 ```json
<span><span class="token">[</span>
</span><span>  <span class="token">{</span><span class="token">"lat"</span><span class="token">:</span><span class="token">40.7128</span><span class="token">,</span><span class="token">"lon"</span><span class="token">:</span><span class="token">-74.0060</span><span class="token">,</span><span class="token">"size"</span><span class="token">:</span><span class="token">0.02</span><span class="token">,</span><span class="token">"color"</span><span class="token">:</span><span class="token">[</span><span class="token">1</span><span class="token">,</span><span class="token">0</span><span class="token">,</span><span class="token">0</span><span class="token">]</span><span class="token">,</span><span class="token">"type"</span><span class="token">:</span><span class="token">"sphere"</span><span class="token">,</span><span class="token">"id"</span><span class="token">:</span><span class="token">"nyc"</span><span class="token">,</span><span class="token">"group"</span><span class="token">:</span><span class="token">"usa"</span><span class="token">}</span><span class="token">,</span>
</span><span>  <span class="token">{</span><span class="token">"lat"</span><span class="token">:</span><span class="token">51.5074</span><span class="token">,</span><span class="token">"lon"</span><span class="token">:</span><span class="token">-0.1278</span><span class="token">,</span><span class="token">"size"</span><span class="token">:</span><span class="token">0.005</span><span class="token">,</span><span class="token">"color"</span><span class="token">:</span><span class="token">[</span><span class="token">0</span><span class="token">,</span><span class="token">1</span><span class="token">,</span><span class="token">0</span><span class="token">]</span><span class="token">,</span><span class="token">"type"</span><span class="token">:</span><span class="token">"cylinder"</span><span class="token">,</span><span class="token">"length"</span><span class="token">:</span><span class="token">0.15</span><span class="token">,</span><span class="token">"id"</span><span class="token">:</span><span class="token">"london"</span><span class="token">,</span><span class="token">"group"</span><span class="token">:</span><span class="token">"uk"</span><span class="token">}</span>
</span><span><span class="token">]</span></span>
```

 

 

**Intelligent Updates**: When markers are updated via AJAX or KML:

- Markers with existing IDs are **updated** (position, color, size)
- Markers with new IDs are **added**
- Markers no longer present are **removed**
- **No jarring replacements** - smooth, professional updates
 
**Without IDs**: If markers don't have IDs, they'll be assigned auto-generated IDs and treated as new markers on each update.

---

## JavaScript Marker Control

MiniGlobe supports comprehensive marker control via JavaScript. Each globe is accessible via its container &lt;div&gt; (with plg\_content\_miniglobe class and a unique ID like miniglobe\_0). Use the MiniGlobe property to access the API:

javascript

 ```javascript
<span><span class="token">var</span> container <span class="token">=</span> <span class="token dom">document</span><span class="token">.</span><span>getElementById</span><span class="token">(</span><span class="token">'miniglobe_0'</span><span class="token">)</span><span class="token">;</span>
</span><span><span class="token">var</span> globe <span class="token">=</span> container<span class="token">.</span><span class="token property-access maybe-class-name">MiniGlobe</span><span class="token">;</span></span>
```

 

 

### API Methods

#### addMarker(type, lat, lon, color, size, id, group, length)

Add a marker to the globe.

**Parameters:**

- `type` (string): "sphere" or "cylinder"
- `lat` (float): Latitude (-90 to 90)
- `lon` (float): Longitude (-180 to 180)
- `color` (array or null): RGB array \[r,g,b\] (0-1 range) or null for default
- `size` (float or null): Marker size or null for default
- `id` (string): Unique identifier (required for updates)
- `group` (string, optional): Group name for bulk operations
- `length` (float, optional): Cylinder height (only for type="cylinder")
 
**Examples:**

javascript

 ```javascript
<span><span class="token">// Add a red sphere in New York</span>
</span><span>globe<span class="token">.</span><span>addMarker</span><span class="token">(</span><span class="token">'sphere'</span><span class="token">,</span> <span class="token">40.7128</span><span class="token">,</span> <span class="token">-</span><span class="token">74.0060</span><span class="token">,</span> <span class="token">[</span><span class="token">1</span><span class="token">,</span><span class="token">0</span><span class="token">,</span><span class="token">0</span><span class="token">]</span><span class="token">,</span> <span class="token">0.02</span><span class="token">,</span> <span class="token">'nyc'</span><span class="token">,</span> <span class="token">'cities'</span><span class="token">)</span><span class="token">;</span>
</span><span>
</span><span><span class="token">// Add a green cylinder in London using default size/color</span>
</span><span>globe<span class="token">.</span><span>addMarker</span><span class="token">(</span><span class="token">'cylinder'</span><span class="token">,</span> <span class="token">51.5074</span><span class="token">,</span> <span class="token">-</span><span class="token">0.1278</span><span class="token">,</span> <span class="token nil">null</span><span class="token">,</span> <span class="token nil">null</span><span class="token">,</span> <span class="token">'london'</span><span class="token">,</span> <span class="token">'cities'</span><span class="token">,</span> <span class="token">0.15</span><span class="token">)</span><span class="token">;</span></span>
```

 

 

#### removeMarker(id)

Remove a specific marker by its ID.

**Parameters:**

- `id` (string): The unique identifier of the marker to remove
 
**Example:**

javascript

 ```javascript
<span>globe<span class="token">.</span><span>removeMarker</span><span class="token">(</span><span class="token">'nyc'</span><span class="token">)</span><span class="token">;</span></span>
```

 

 

#### removeMarkersByGroup(group)

Remove all markers in a specific group.

**Parameters:**

- `group` (string): The group name
 
**Example:**

javascript

 ```javascript
<span><span class="token">// Remove all markers in the 'cities' group</span>
</span><span>globe<span class="token">.</span><span>removeMarkersByGroup</span><span class="token">(</span><span class="token">'cities'</span><span class="token">)</span><span class="token">;</span></span>
```

 

 

#### updateMarker(id, properties)

Update an existing marker's properties.

**Parameters:**

- `id` (string): The unique identifier of the marker
- `properties` (object): Object with properties to update (lat, lon, color, size, length, type, group)
 
**Example:**

javascript

 ```javascript
<span><span class="token">// Move NYC marker and change its color</span>
</span><span>globe<span class="token">.</span><span>updateMarker</span><span class="token">(</span><span class="token">'nyc'</span><span class="token">,</span> <span class="token">{</span>
</span><span>    <span class="token literal-property">lat</span><span class="token">:</span> <span class="token">40.7589</span><span class="token">,</span>
</span><span>    <span class="token literal-property">lon</span><span class="token">:</span> <span class="token">-</span><span class="token">73.9851</span><span class="token">,</span>
</span><span>    <span class="token literal-property">color</span><span class="token">:</span> <span class="token">[</span><span class="token">0</span><span class="token">,</span> <span class="token">0</span><span class="token">,</span> <span class="token">1</span><span class="token">]</span>
</span><span><span class="token">}</span><span class="token">)</span><span class="token">;</span></span>
```

 

 

#### clearMarkers()

Remove all markers from the globe.

**Example:**

javascript

 ```javascript
<span>globe<span class="token">.</span><span>clearMarkers</span><span class="token">(</span><span class="token">)</span><span class="token">;</span></span>
```

 

 

### Complete Example

javascript

 ```javascript
<span><span class="token">// Get the globe instance</span>
</span><span><span class="token">var</span> container <span class="token">=</span> <span class="token dom">document</span><span class="token">.</span><span>getElementById</span><span class="token">(</span><span class="token">'miniglobe_0'</span><span class="token">)</span><span class="token">;</span>
</span><span><span class="token">var</span> globe <span class="token">=</span> container<span class="token">.</span><span class="token property-access maybe-class-name">MiniGlobe</span><span class="token">;</span>
</span><span>
</span><span><span class="token">// Add various markers</span>
</span><span>globe<span class="token">.</span><span>addMarker</span><span class="token">(</span><span class="token">'sphere'</span><span class="token">,</span> <span class="token">40.7128</span><span class="token">,</span> <span class="token">-</span><span class="token">74.0060</span><span class="token">,</span> <span class="token">[</span><span class="token">1</span><span class="token">,</span><span class="token">0</span><span class="token">,</span><span class="token">0</span><span class="token">]</span><span class="token">,</span> <span class="token">0.02</span><span class="token">,</span> <span class="token">'nyc'</span><span class="token">,</span> <span class="token">'usa'</span><span class="token">)</span><span class="token">;</span>
</span><span>globe<span class="token">.</span><span>addMarker</span><span class="token">(</span><span class="token">'sphere'</span><span class="token">,</span> <span class="token">34.0522</span><span class="token">,</span> <span class="token">-</span><span class="token">118.2437</span><span class="token">,</span> <span class="token">[</span><span class="token">1</span><span class="token">,</span><span class="token">0</span><span class="token">,</span><span class="token">0</span><span class="token">]</span><span class="token">,</span> <span class="token">0.02</span><span class="token">,</span> <span class="token">'la'</span><span class="token">,</span> <span class="token">'usa'</span><span class="token">)</span><span class="token">;</span>
</span><span>globe<span class="token">.</span><span>addMarker</span><span class="token">(</span><span class="token">'cylinder'</span><span class="token">,</span> <span class="token">51.5074</span><span class="token">,</span> <span class="token">-</span><span class="token">0.1278</span><span class="token">,</span> <span class="token">[</span><span class="token">0</span><span class="token">,</span><span class="token">1</span><span class="token">,</span><span class="token">0</span><span class="token">]</span><span class="token">,</span> <span class="token">0.005</span><span class="token">,</span> <span class="token">'london'</span><span class="token">,</span> <span class="token">'uk'</span><span class="token">,</span> <span class="token">0.15</span><span class="token">)</span><span class="token">;</span>
</span><span>
</span><span><span class="token">// Update a marker after 2 seconds</span>
</span><span><span class="token">setTimeout</span><span class="token">(</span><span class="token">function</span><span class="token">(</span><span class="token">)</span> <span class="token">{</span>
</span><span>    globe<span class="token">.</span><span>updateMarker</span><span class="token">(</span><span class="token">'nyc'</span><span class="token">,</span> <span class="token">{</span><span class="token literal-property">color</span><span class="token">:</span> <span class="token">[</span><span class="token">0</span><span class="token">,</span><span class="token">0</span><span class="token">,</span><span class="token">1</span><span class="token">]</span><span class="token">,</span> <span class="token literal-property">size</span><span class="token">:</span> <span class="token">0.03</span><span class="token">}</span><span class="token">)</span><span class="token">;</span>
</span><span><span class="token">}</span><span class="token">,</span> <span class="token">2000</span><span class="token">)</span><span class="token">;</span>
</span><span>
</span><span><span class="token">// Remove all USA markers after 5 seconds</span>
</span><span><span class="token">setTimeout</span><span class="token">(</span><span class="token">function</span><span class="token">(</span><span class="token">)</span> <span class="token">{</span>
</span><span>    globe<span class="token">.</span><span>removeMarkersByGroup</span><span class="token">(</span><span class="token">'usa'</span><span class="token">)</span><span class="token">;</span>
</span><span><span class="token">}</span><span class="token">,</span> <span class="token">5000</span><span class="token">)</span><span class="token">;</span>
</span><span>
</span><span><span class="token">// Clear all markers after 10 seconds</span>
</span><span><span class="token">setTimeout</span><span class="token">(</span><span class="token">function</span><span class="token">(</span><span class="token">)</span> <span class="token">{</span>
</span><span>    globe<span class="token">.</span><span>clearMarkers</span><span class="token">(</span><span class="token">)</span><span class="token">;</span>
</span><span><span class="token">}</span><span class="token">,</span> <span class="token">10000</span><span class="token">)</span><span class="token">;</span></span>
```

 

 

## Nation Color Overlay Feature

MiniGlobe now supports highlighting individual nations with custom colors when using procedural rendering mode. This feature allows you to overlay specific countries with different colors on top of the base land/ocean colors.

### How It Works

The `nationColors` property accepts an object mapping three-letter ISO country codes to RGB color arrays. When procedural mode is enabled (`textureImage: false`), MiniGlobe will render these nations with their assigned colors as semi-transparent overlays on the globe.

### Usage

#### Setting Nation Colors

Nation colors can be set by directly assigning to the `nationColors` property after instantiation:

 ```
<span class="hljs-keyword">const</span> globe = <span class="hljs-keyword">new</span> MiniGlobe({
  canvas: <span class="hljs-built_in">document</span>.getElementById(<span class="hljs-string">'miniglobe_N'</span>),
  textureImage: <span class="hljs-keyword">false</span>,  <span class="hljs-comment">// Required - nation colors only work in procedural mode</span>
  oceanColor: [<span class="hljs-number">0.05</span>, <span class="hljs-number">0.15</span>, <span class="hljs-number">0.35</span>],
  landColor: [<span class="hljs-number">0.2</span>, <span class="hljs-number">0.45</span>, <span class="hljs-number">0.15</span>]
});

<span class="hljs-comment">// Assign colors to specific nations</span>
globe.nationColors = {
  <span class="hljs-string">'USA'</span>: [<span class="hljs-number">0.8</span>, <span class="hljs-number">0.2</span>, <span class="hljs-number">0.2</span>],    <span class="hljs-comment">// Red</span>
  <span class="hljs-string">'CAN'</span>: [<span class="hljs-number">0.9</span>, <span class="hljs-number">0.3</span>, <span class="hljs-number">0.3</span>],    <span class="hljs-comment">// Lighter red</span>
  <span class="hljs-string">'MEX'</span>: [<span class="hljs-number">0.3</span>, <span class="hljs-number">0.7</span>, <span class="hljs-number">0.3</span>],    <span class="hljs-comment">// Green</span>
  <span class="hljs-string">'BRA'</span>: [<span class="hljs-number">1.0</span>, <span class="hljs-number">0.8</span>, <span class="hljs-number">0.0</span>],    <span class="hljs-comment">// Yellow</span>
  <span class="hljs-string">'AUS'</span>: [<span class="hljs-number">0.2</span>, <span class="hljs-number">0.4</span>, <span class="hljs-number">0.8</span>]     <span class="hljs-comment">// Blue</span>
};

```

#### Adding or Updating Individual Nations

You can add or modify nation colors at any time:

 ```
<span class="hljs-comment">// Add a single nation color</span>
globe.nationColors['GBR'] = [<span class="hljs-number">0.7</span>, <span class="hljs-number">0.1</span>, <span class="hljs-number">0.4</span>];  <span class="hljs-comment">// Purple</span>

<span class="hljs-comment">// Update an existing nation color</span>
globe.nationColors['USA'] = [<span class="hljs-number">0.3</span>, <span class="hljs-number">0.3</span>, <span class="hljs-number">0.9</span>];  <span class="hljs-comment">// Change to blue</span>

```

#### Removing Nation Colors

To remove a nation's color overlay:

 ```
<span class="hljs-comment">// Remove a single nation</span>
<span class="hljs-keyword">delete</span> globe.nationColors[<span class="hljs-string">'USA'</span>];

<span class="hljs-comment">// Clear all nation colors</span>
globe.nationColors = {};

```

### Important Notes

1. **Procedural Mode Required**: Nation colors only work when `textureImage` is set to `false`. If you're using a texture image for the globe, nation colors will not be rendered.
2. **Color Format**: Colors must be specified as RGB arrays with values ranging from 0.0 to 1.0:
    
    
    - `[1.0, 0.0, 0.0]` = Pure red
    - `[0.0, 1.0, 0.0]` = Pure green
    - `[0.0, 0.0, 1.0]` = Pure blue
    - `[0.5, 0.5, 0.5]` = Medium gray
3. **Country Codes**: Use three-letter ISO 3166-1 alpha-3 country codes (e.g., 'USA', 'GBR', 'JPN', 'AUS'). The available codes are:
    
    
    - AFG, AGO, ALB, AND, ARE, ARG, ARM, ATA, ATG, AUS, AUT, AZE, BDI, BEL, BEN, BFA, BGD, BGR, BHR, BHS, BIH, BLR, BLZ, BOL, BRA, BRB, BRN, BTN, BWA, CAF, CAN, CHE, CHL, CHN, CIV, CMR, COD, COG, COL, COM, CPV, CRI, CUB, CYN, CYP, CZE, DEU, DJI, DMA, DNK, DOM, DZA, ECU, EGY, ERI, ESP, EST, ETH, FIN, FJI, FRA, FSM, GAB, GBR, GEO, GHA, GIN, GMB, GNB, GNQ, GRC, GRD, GTM, GUY, HND, HRV, HTI, HUN, IDN, IND, IRL, IRN, IRQ, ISL, ISR, ITA, JAM, JOR, JPN, KAS, KAZ, KEN, KGZ, KHM, KIR, KNA, KOR, KOS, KWT, LAO, LBN, LBR, LBY, LCA, LIE, LKA, LSO, LTU, LUX, LVA, MAR, MCO, MDA, MDG, MDV, MEX, MHL, MKD, MLI, MLT, MMR, MNE, MNG, MOZ, MRT, MUS, MWI, MYS, NAM, NER, NGA, NIC, NLD, NOR, NPL, NRU, NZL, OMN, PAK, PAN, PER, PHL, PLW, PNG, POL, PRK, PRT, PRY, PSE, QAT, ROU, RUS, RWA, SAH, SAU, SDN, SEN, SGP, SLB, SLE, SLV, SMR, SOL, SOM, SRB, SSD, STP, SUR, SVK, SVN, SWE, SWZ, SYC, SYR, TCD, TGO, THA, TJK, TKM, TLS, TON, TTO, TUN, TUR, TWN, TZA, UGA, UKR, URY, USA, UZB, VAT, VCT, VEN, VNM, VUT, WSM, YEM, ZAF, ZMB, ZWE
4. **Rendering**: Nation overlays are rendered with alpha blending on top of the base procedural globe, allowing the underlying terrain to show through slightly.
 
### Example: Creating a Heat Map

 ```
<span class="hljs-keyword">const</span> globe = <span class="hljs-keyword">new</span> MiniGlobe({
  canvas: <span class="hljs-built_in">document</span>.getElementById(<span class="hljs-string">'miniglobe_N'</span>),
  textureImage: <span class="hljs-keyword">false</span>,
  oceanColor: [<span class="hljs-number">0.05</span>, <span class="hljs-number">0.15</span>, <span class="hljs-number">0.35</span>],
  landColor: [<span class="hljs-number">0.8</span>, <span class="hljs-number">0.8</span>, <span class="hljs-number">0.8</span>],  <span class="hljs-comment">// Light gray base</span>
  rotationSpeed: <span class="hljs-number">0.005</span>
});

<span class="hljs-comment">// Create a population density visualization</span>
globe.nationColors = {
  <span class="hljs-string">'CHN'</span>: [<span class="hljs-number">0.9</span>, <span class="hljs-number">0.1</span>, <span class="hljs-number">0.1</span>],  <span class="hljs-comment">// High density - dark red</span>
  <span class="hljs-string">'IND'</span>: [<span class="hljs-number">0.9</span>, <span class="hljs-number">0.1</span>, <span class="hljs-number">0.1</span>],
  <span class="hljs-string">'USA'</span>: [<span class="hljs-number">0.9</span>, <span class="hljs-number">0.5</span>, <span class="hljs-number">0.2</span>],  <span class="hljs-comment">// Medium-high - orange</span>
  <span class="hljs-string">'BRA'</span>: [<span class="hljs-number">0.9</span>, <span class="hljs-number">0.5</span>, <span class="hljs-number">0.2</span>],
  <span class="hljs-string">'CAN'</span>: [<span class="hljs-number">0.4</span>, <span class="hljs-number">0.7</span>, <span class="hljs-number">0.4</span>],  <span class="hljs-comment">// Low density - green</span>
  <span class="hljs-string">'AUS'</span>: [<span class="hljs-number">0.4</span>, <span class="hljs-number">0.7</span>, <span class="hljs-number">0.4</span>]
};

```

### Example: Highlighting Regions

 ```
<span class="hljs-keyword">const</span> globe = <span class="hljs-keyword">new</span> MiniGlobe({
  <span class="hljs-attr">canvas</span>: <span class="hljs-built_in">document</span>.getElementById(<span class="hljs-string">'miniglobe_N'</span>),
  <span class="hljs-attr">textureImage</span>: <span class="hljs-literal">false</span>,
  <span class="hljs-attr">oceanColor</span>: [<span class="hljs-number">0.1</span>, <span class="hljs-number">0.2</span>, <span class="hljs-number">0.4</span>],
  <span class="hljs-attr">landColor</span>: [<span class="hljs-number">0.3</span>, <span class="hljs-number">0.5</span>, <span class="hljs-number">0.2</span>]
});

<span class="hljs-comment">// Highlight European Union members in blue</span>
<span class="hljs-keyword">const</span> euCountries = [<span class="hljs-string">'AUT'</span>, <span class="hljs-string">'BEL'</span>, <span class="hljs-string">'BGR'</span>, <span class="hljs-string">'HRV'</span>, <span class="hljs-string">'CYP'</span>, <span class="hljs-string">'CZE'</span>, <span class="hljs-string">'DNK'</span>, 
                     <span class="hljs-string">'EST'</span>, <span class="hljs-string">'FIN'</span>, <span class="hljs-string">'FRA'</span>, <span class="hljs-string">'DEU'</span>, <span class="hljs-string">'GRC'</span>, <span class="hljs-string">'HUN'</span>, <span class="hljs-string">'IRL'</span>, 
                     <span class="hljs-string">'ITA'</span>, <span class="hljs-string">'LVA'</span>, <span class="hljs-string">'LTU'</span>, <span class="hljs-string">'LUX'</span>, <span class="hljs-string">'MLT'</span>, <span class="hljs-string">'NLD'</span>, <span class="hljs-string">'POL'</span>, 
                     <span class="hljs-string">'PRT'</span>, <span class="hljs-string">'ROU'</span>, <span class="hljs-string">'SVK'</span>, <span class="hljs-string">'SVN'</span>, <span class="hljs-string">'ESP'</span>, <span class="hljs-string">'SWE'</span>];

<span class="hljs-keyword">const</span> euColor = [<span class="hljs-number">0.2</span>, <span class="hljs-number">0.4</span>, <span class="hljs-number">0.8</span>];  <span class="hljs-comment">// EU blue</span>
euCountries.forEach(<span class="hljs-function"><span class="hljs-params">code</span> =></span> {
  globe.nationColors[code] = euColor;
});

```

### Technical Details

The nation color feature uses:

- **Nation masks**: Compressed RLE-encoded bitmap data for each country's boundaries
- **Texture generation**: On-demand WebGL texture creation from decompressed masks
- **Blended rendering**: Nations are rendered with alpha blending for smooth overlay effects
- **Shader mode**: A special shader uniform (`u_nationMode`) switches between base and nation rendering
 
### Performance Considerations

- Nation textures are cached after first use
- Only assigned nations generate textures (no overhead for unused countries)
- Rendering performance depends on the number of nations with assigned colors
 
---

## Configuration

In the Joomla Plugin Manager, configure default settings for MiniGlobe:

**Basic Settings:**

- **Pause on Hover**: Enable/disable pause rotation when hovering (0 or 1)
- **Rotation Speed**: Globe rotation speed in radians per frame (e.g., 0.01)
- **Brightness**: Ambient light intensity (e.g., 1.0)
 
**Texture Settings:**

- **Texture Image**: Default equirectangular globe texture path (or "false" for procedural)
- **Cloud Texture Image**: Default equirectangular cloud texture path (or leave empty to disable)
- **Ocean Color**: Default RGB color for procedural oceans \[r,g,b\]
- **Land Color**: Default RGB color for procedural land \[r,g,b\]
 
**Visual Effects:**

- **Fake Atmosphere**: Enable/disable atmospheric glow (0 or 1)
- **Graticule**: Enable/disable lat/lon grid lines (0 or 1)
- **Grid Color**: Default RGB color for graticule \[r,g,b\]
- **Cloud Rotation Speed**: Relative speed of cloud rotation (e.g., 1.5)
- **Cloud Scale**: Cloud layer size relative to globe (e.g., 1.01)
- **Cloud Opacity**: Cloud transparency (0-1, e.g., 0.8)
 
**Marker Settings:**

- **Marker Color**: Default RGB color \[r,g,b\] or hex string
- **Marker Size**: Default size as radius (e.g., 0.02)
- **Marker Length**: Default cylinder height (e.g., 0.1)
 
Tag attributes override these defaults.

---

## Texture Requirements

All textures (globe, clouds) must be in **equirectangular projection** (also called "plate carrée" or "geographic projection").

**Recommended sizes:**

- **1024x512**: Good balance of quality and file size (~100-200KB as WebP)
- **2048x1024**: High quality for larger displays (~300-500KB as WebP)
- **4096x2048**: Maximum quality for 4K displays (~800KB-1.5MB as WebP)
 
**Format recommendations:**

**Texture sources:**

- NASA Visible Earth (<https://visibleearth.nasa.gov/>)
- Natural Earth (<https://www.naturalearthdata.com/>)
- Textures.com
- Custom creation with the [Equirectangular Globe Texture Editor](/software/documentation/equirectangular-globe-texture-editor)
 
**Procedural Mode**: Set `textureImage="false"` to skip textures entirely and use color-based land/ocean rendering. This is the smallest option (no texture download) and allows easy color customization.

---

## Advanced Features

### Procedural Rendering

Skip texture files entirely and render land/ocean with solid colors:

 ```
<span>{<span>miniglobe</span> textureImage="false" oceanColor="[0.1,0.2,0.4]" landColor="[0.3,0.6,0.2]"}</span>
```

 

 

This uses an embedded RLE-compressed land mask for accurate coastlines without any external files.

### Atmospheric Glow

Add a subtle atmospheric halo around the globe:

 ```
<span>{<span>miniglobe</span> fakeAtmosphere="1"}</span>
```

 

 

### Graticule Grid

Display latitude and longitude lines:

 ```
<span>{<span>miniglobe</span> graticule="1" gridColor="[0.5,0.5,0.5]"}</span>
```

 

 

Customize grid appearance:

- `gridThickness`: Line thickness (default: 0.0015)
- `lonInterval`: Degrees between longitude lines (default: 30)
- `latInterval`: Degrees between latitude lines (default: 15)
- `boldEquator`: Make equator thicker (default: true)
- `boldTropics`: Highlight tropic lines (default: false)
- `poleFade`: Fade grid near poles (default: true)
 
### Independent Cloud Rotation

Clouds can rotate at a different speed than the globe:

 ```
<span>{<span>miniglobe</span> cloudTextureImage="path/to/clouds.webp" cloudRotationSpeed="1.5"}</span>
```

 

 

A `cloudRotationSpeed` of 1.5 means clouds rotate 50% faster than the globe.

### Marker Types

**Sphere markers**: Best for point locations

javascript

 ```javascript
<span>globe<span class="token">.</span><span>addMarker</span><span class="token">(</span><span class="token">'sphere'</span><span class="token">,</span> <span class="token">40.7128</span><span class="token">,</span> <span class="token">-</span><span class="token">74.0060</span><span class="token">,</span> <span class="token">[</span><span class="token">1</span><span class="token">,</span><span class="token">0</span><span class="token">,</span><span class="token">0</span><span class="token">]</span><span class="token">,</span> <span class="token">0.02</span><span class="token">,</span> <span class="token">'id'</span><span class="token">,</span> <span class="token">'group'</span><span class="token">)</span><span class="token">;</span></span>
```

 

 

**Cylinder markers**: Best for vertical data (heights, values, intensity)

javascript

 ```javascript
<span>globe<span class="token">.</span><span>addMarker</span><span class="token">(</span><span class="token">'cylinder'</span><span class="token">,</span> <span class="token">40.7128</span><span class="token">,</span> <span class="token">-</span><span class="token">74.0060</span><span class="token">,</span> <span class="token">[</span><span class="token">0</span><span class="token">,</span><span class="token">1</span><span class="token">,</span><span class="token">0</span><span class="token">]</span><span class="token">,</span> <span class="token">0.005</span><span class="token">,</span> <span class="token">'id'</span><span class="token">,</span> <span class="token">'group'</span><span class="token">,</span> <span class="token">0.15</span><span class="token">)</span><span class="token">;</span></span>
```

 

 

---

## Performance Notes

**File Sizes:**

- Core JavaScript: 52KB minified
- With 1024x512 WebP texture: ~150-250KB total
- With 2048x1024 WebP texture + clouds: ~350-450KB total
- Procedural mode (no textures): 52KB total
 
**Browser Requirements:**

- WebGL2 support required
- Works on all modern browsers (Chrome, Firefox, Safari, Edge)
- Mobile-optimized for smooth performance on phones/tablets
 
**Multiple Globes:**

- Uses shared Web Worker for efficient AJAX/KML loading
- Multiple globes on one page share resources efficiently
- Each globe maintains independent state
 
**Optimization Tips:**

1. Use WebP format for textures (50-70% smaller than PNG)
2. Use 1024x512 textures unless you need 4K quality
3. Consider procedural mode for minimal file size
4. Set appropriate `markersAJAXInterval` (don't poll too frequently)
5. Use marker IDs for efficient updates
 
---

## Notes

- MiniGlobe requires **WebGL2 support** in the browser (all modern browsers since 2017)
- The plugin is lightweight: **52KB core JavaScript** with no external dependencies
- **Three.js has been removed** - now uses pure WebGL2 rendering
- The globe scales to the full width of its container, making it responsive
- Ensure `markersAJAX` URLs return valid JSON in the correct format
- **`markersAJAXInterval` is in milliseconds** (10000 = 10 seconds)
- Marker updates are intelligent - only changes what's needed (no jarring replacements)
- Use WebP or JPEG for textures to optimize performance
- Cloud layer is optional and can be disabled to reduce file size
- Procedural rendering (`textureImage="false"`) provides the smallest footprint
- Multiple globes on one page share a Web Worker for efficient resource usage
 
---

## Migration from 5.1.x to 5.2+

If you're upgrading from the Three.js-based version, here are the key changes:

**Tag Attribute Changes:**

- `speed` → `rotationSpeed` (now in radians instead of degrees)
- `hoverStop` → `pauseOnHover`
- `bumpmap` removed (use textures with baked lighting)
- `bumpmapImage` removed
- `markersAJAXInterval` now in milliseconds (was seconds)
- `markers` now uses object format instead of array format
 
**JavaScript API Changes:**

- `addMarker(lat, lon, size, color)` → `addMarker(type, lat, lon, color, size, id, group, length)`
- `removeMarker(index)` → `removeMarker(id)` (now uses ID instead of index)
- `removeMarkers([indices])` → `removeMarkersByGroup(group)` or `clearMarkers()`
- `processMarkersArray(array)` → Handled automatically via intelligent updates
- New methods: `updateMarker()`, `removeMarkersByGroup()`
 
**Visual Changes:**

- Globe may appear slightly different due to WebGL2 rendering vs Three.js
- Better performance and smoother animations
- New optional features: atmosphere, graticule, procedural rendering
 
**File Size:**

- 700KB → 52KB (92% reduction)
- No Three.js dependency to load
 
**Breaking Changes:**

- Old marker array format `[[lat,lon,size,color]]` still works but object format recommended
- JavaScript API method signatures have changed
- Speed values need adjustment (radians vs degrees)
 
---

## Troubleshooting

**Globe doesn't appear:**

- Check browser console for WebGL2 errors
- Verify the plugin is enabled in Plugin Manager
- Ensure texture paths are correct and files exist
- If you have CSP headers, ensure worker-src allows blob:
 
**Markers don't update:**

- Check that `markersAJAXInterval` is in milliseconds (10000 = 10 seconds)
- Verify JSON format matches the object structure
- Check browser console for fetch errors
- Ensure URLs are absolute or correctly relative
 
**Performance issues:**

- Reduce texture size (use 1024x512 instead of 2048x1024)
- Disable clouds if not needed
- Reduce marker count or update frequency
- Consider procedural rendering instead of textures
 
**Markers flash/disappear on update:**

- Add unique `id` properties to each marker
- This enables intelligent updates instead of full replacement
 
 

- [      email ](mailto:?subject=Content+-+MiniGlobe+Documentation&body=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Fcontent-miniglobe)
- [      facebook ](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Fcontent-miniglobe)
- [      x-twitter ](https://twitter.com/intent/tweet?text=Content+-+MiniGlobe+Documentation%3A+https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Fcontent-miniglobe)
- [      linkedin ](http://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Fcontent-miniglobe&title=Content+-+MiniGlobe+Documentation&summary=Overview+Content+-+MiniGlobe+is+a+Joomla+content+p...)
- [      pinterest ](http://pinterest.com/pin/create/button/?url=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Fcontent-miniglobe&media=https%3A%2F%2Fcdn.joomla.org%2Fimages%2Fjoomla-org-og.jpg&description=Content+-+MiniGlobe+Documentation)
 


 

   [  Previous article: Content - InterLinked Documentation   Content - InterLinked Documentation ](/software/documentation/content-interlinked) [  Next article: Content - MooAccordion Documentation  Content - MooAccordion Documentation  ](/software/documentation/content-mooaccordion)  

##### We Value Your Privacy

 

We use cookies to enhance your experience and for traffic analysis. By continuing to visit this site you agree to our use of cookies.

[Privacy Policy](/privacy-policy)

 Details 

###### Google Tag Manager Items

- Ad Storage
- Ad User Data
- Ad Personalization
- Analytics Storage
- Functionality Storage
- Personalization Storage
- Security Storage
 
 

 

 

 

 

 Decline Accept
```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.richeyweb.com/#organization","name":"RicheyWeb","url":"https://www.richeyweb.com/","logo":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/logo/richeyweb.svg","contentUrl":"https://www.richeyweb.com/images/logo/richeyweb.svg","width":{"@type":"QuantitativeValue","value":38,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":38,"unitCode":"PX"},"@id":"https://www.richeyweb.com/#logo"},"image":{"@id":"https://www.richeyweb.com/#logo"},"sameAs":["https://x.com/ComRicheyweb","https://www.facebook.com/RicheyWebDev/","https://www.youtube.com/channel/UCxnVG8BwOvQRO7hVqNX7T2g","https://community.joomla.org/service-providers-directory/listings/115:richeyweb.html"],"description":"RicheyWeb is a custom software developer specializing in Joomla extensions.","ContactPoint":[{"@type":"ContactPoint","url":"https://www.richeyweb.com/contact-us","telephone":"903-873-8460","contactType":"Owner/Administrator","areaServed":["United States",{"@type":"Country","name":"United States","sameAs":["https://en.wikipedia.org/wiki/United_States","https://www.wikidata.org/wiki/Q30","https://g.co/kg/m/09c7w0"]},"European Union",{"@type":"AdministrativeArea","name":"European Union","sameAs":["https://en.wikipedia.org/wiki/European_Union","https://www.wikidata.org/wiki/Q458","https://g.co/kg/m/0_6t_z8"]},"United Kingdom",{"@type":"Country","name":"United Kingdom","sameAs":["https://en.wikipedia.org/wiki/United_Kingdom","https://www.wikidata.org/wiki/Q145","https://g.co/kg/m/07ssc"]},"Australia",{"@type":"Country","name":"Australia","sameAs":["https://en.wikipedia.org/wiki/Australia","https://www.wikidata.org/wiki/Q408","https://g.co/kg/m/0chghy"]},"Canada",{"@type":"Country","name":"Canada","sameAs":["https://en.wikipedia.org/wiki/Canada","https://www.wikidata.org/wiki/Q16","https://g.co/kg/m/0d060g"]},"Russia",{"@type":"Country","name":"Russia","sameAs":["https://en.wikipedia.org/wiki/Russia","https://www.wikidata.org/wiki/Q159","https://g.co/kg/m/06bnz"]},"China",{"@type":"Country","name":"China","sameAs":["https://en.wikipedia.org/wiki/China","https://www.wikidata.org/wiki/Q148","https://g.co/kg/m/0d05w3"]}],"availableLanguage":"en"},{"@type":"ContactPoint","url":"https://www.richeyweb.com/bugs","telephone":"903-873-8460","contactType":"Technical Support","areaServed":["United States",{"@type":"Country","name":"United States","sameAs":["https://en.wikipedia.org/wiki/United_States","https://www.wikidata.org/wiki/Q30","https://g.co/kg/m/09c7w0"]},"European Union",{"@type":"AdministrativeArea","name":"European Union","sameAs":["https://en.wikipedia.org/wiki/European_Union","https://www.wikidata.org/wiki/Q458","https://g.co/kg/m/0_6t_z8"]},"United Kingdom",{"@type":"Country","name":"United Kingdom","sameAs":["https://en.wikipedia.org/wiki/United_Kingdom","https://www.wikidata.org/wiki/Q145","https://g.co/kg/m/07ssc"]},"Australia",{"@type":"Country","name":"Australia","sameAs":["https://en.wikipedia.org/wiki/Australia","https://www.wikidata.org/wiki/Q408","https://g.co/kg/m/0chghy"]},"Canada",{"@type":"Country","name":"Canada","sameAs":["https://en.wikipedia.org/wiki/Canada","https://www.wikidata.org/wiki/Q16","https://g.co/kg/m/0d060g"]},"Russia",{"@type":"Country","name":"Russia","sameAs":["https://en.wikipedia.org/wiki/Russia","https://www.wikidata.org/wiki/Q159","https://g.co/kg/m/06bnz"]},"China",{"@type":"Country","name":"China","sameAs":["https://en.wikipedia.org/wiki/China","https://www.wikidata.org/wiki/Q148","https://g.co/kg/m/0d05w3"]}],"availableLanguage":"en"}],"knowsAbout":["Computer programming",{"@type":"Thing","name":"Computer programming","sameAs":["https://en.wikipedia.org/wiki/Computer_programming","https://www.wikidata.org/wiki/Q80006","https://g.co/kg/m/01mf_"]},"PHP",{"@type":"Thing","name":"PHP","sameAs":["https://en.wikipedia.org/wiki/PHP","https://www.wikidata.org/wiki/Q59","https://g.co/kg/m/060kv"]},"JavaScript",{"@type":"Thing","name":"JavaScript","sameAs":["https://en.wikipedia.org/wiki/JavaScript","https://www.wikidata.org/wiki/Q2005","https://g.co/kg/m/02p97"]},"arduino","Computer forensics",{"@type":"Thing","name":"Computer forensics","sameAs":["https://en.wikipedia.org/wiki/Computer_forensics","https://www.wikidata.org/wiki/Q878553","https://g.co/kg/m/02wxbd"]},"White hat",{"@type":"Thing","name":"White hat","sameAs":["https://en.wikipedia.org/wiki/White_hat_(computer_security)","https://www.wikidata.org/wiki/Q7995625","https://g.co/kg/m/03ns_5"]},"Search engine optimization",{"@type":"Thing","name":"Search engine optimization","sameAs":["https://en.wikipedia.org/wiki/Search_engine_optimization","https://www.wikidata.org/wiki/Q180711","https://g.co/kg/m/019qb_"]},"Search engine marketing",{"@type":"Thing","name":"Search engine marketing","sameAs":["https://en.wikipedia.org/wiki/Search_engine_marketing","https://www.wikidata.org/wiki/Q846132","https://g.co/kg/m/06mw8r"]},"Digital marketing",{"@type":"Thing","name":"Digital marketing","sameAs":["https://en.wikipedia.org/wiki/Digital_marketing","https://www.wikidata.org/wiki/Q1323528","https://g.co/kg/g/122hcnps"]},"Web hosting service",{"@type":"Thing","name":"Web hosting service","sameAs":["https://en.wikipedia.org/wiki/Web_hosting_service","https://www.wikidata.org/wiki/Q5892272","https://g.co/kg/m/014pz4"]},"Email hosting service",{"@type":"Thing","name":"Email hosting service","sameAs":["https://en.wikipedia.org/wiki/Email_hosting_service","https://www.wikidata.org/wiki/Q5368818","https://g.co/kg/m/09w60m"]},"Internet hosting service",{"@type":"Thing","name":"Internet hosting service","sameAs":["https://en.wikipedia.org/wiki/Internet_hosting_service","https://www.wikidata.org/wiki/Q1210425","https://g.co/kg/m/09w5yw"]},"Virtual hosting",{"@type":"Thing","name":"Virtual hosting","sameAs":["https://en.wikipedia.org/wiki/Virtual_hosting","https://www.wikidata.org/wiki/Q588365","https://g.co/kg/m/024mvh"]},"Web performance",{"@type":"Thing","name":"Web performance","sameAs":["https://en.wikipedia.org/wiki/Web_performance","https://www.wikidata.org/wiki/Q7978612","https://g.co/kg/m/0gfj3f1"]},"Web content management system",{"@type":"Thing","name":"Web content management system","sameAs":["https://en.wikipedia.org/wiki/Web_content_management_system","https://www.wikidata.org/wiki/Q45211","https://g.co/kg/m/0615s2"]},"Content management system",{"@type":"Thing","name":"Content management system","sameAs":["https://en.wikipedia.org/wiki/Content_management_system","https://www.wikidata.org/wiki/Q131093","https://g.co/kg/m/0k23c"]},"General Data Protection Regulation",{"@type":"Thing","name":"General Data Protection Regulation","sameAs":["https://en.wikipedia.org/wiki/General_Data_Protection_Regulation","https://www.wikidata.org/wiki/Q1172506","https://g.co/kg/m/0pk_7xs"]},"SERP",{"@type":"Thing","name":"SERP","sameAs":["https://en.wikipedia.org/wiki/SERP","https://www.wikidata.org/wiki/Q2205811","https://g.co/kg/g/11c5szp7kc"]},"Artificial intelligence",{"@type":"Thing","name":"Artificial intelligence","sameAs":["https://en.wikipedia.org/wiki/Artificial_intelligence","https://www.wikidata.org/wiki/Q11660","https://g.co/kg/m/0mkz"]},"Prompt engineering",{"@type":"Thing","name":"Prompt engineering","sameAs":["https://en.wikipedia.org/wiki/Prompt_engineering","https://www.wikidata.org/wiki/Q108941486","https://g.co/kg/g/11p6kpgt_n"]},"E-learning",{"@type":"Thing","name":"E-learning","sameAs":["https://en.wikipedia.org/wiki/E-learning_(theory)","https://www.wikidata.org/wiki/Q182250","https://g.co/kg/g/122czm1f"]},"Sharable Content Object Reference Model",{"@type":"Thing","name":"Sharable Content Object Reference Model","sameAs":["https://en.wikipedia.org/wiki/Sharable_Content_Object_Reference_Model","https://www.wikidata.org/wiki/Q827811","https://g.co/kg/m/06_40"]},"Experience API",{"@type":"Thing","name":"Experience API","sameAs":["https://en.wikipedia.org/wiki/Experience_API","https://www.wikidata.org/wiki/Q7807728","https://g.co/kg/g/1yw9ktxr8"]},"Joomla",{"@type":"Thing","name":"Joomla","sameAs":["https://en.wikipedia.org/wiki/Joomla","https://www.wikidata.org/wiki/Q13167","https://g.co/kg/m/07qb81"]},"Nginx",{"@type":"Thing","name":"Nginx","sameAs":["https://en.wikipedia.org/wiki/Nginx","https://www.wikidata.org/wiki/Q306144","https://g.co/kg/m/02qft91"]},"MySQL",{"@type":"Thing","name":"MySQL","sameAs":["https://en.wikipedia.org/wiki/MySQL","https://www.wikidata.org/wiki/Q850","https://g.co/kg/m/04y3k"]}],"areaServed":["United States",{"@type":"Country","name":"United States","sameAs":["https://en.wikipedia.org/wiki/United_States","https://www.wikidata.org/wiki/Q30","https://g.co/kg/m/09c7w0"]},"European Union",{"@type":"AdministrativeArea","name":"European Union","sameAs":["https://en.wikipedia.org/wiki/European_Union","https://www.wikidata.org/wiki/Q458","https://g.co/kg/m/0_6t_z8"]},"United Kingdom",{"@type":"Country","name":"United Kingdom","sameAs":["https://en.wikipedia.org/wiki/United_Kingdom","https://www.wikidata.org/wiki/Q145","https://g.co/kg/m/07ssc"]},"Australia",{"@type":"Country","name":"Australia","sameAs":["https://en.wikipedia.org/wiki/Australia","https://www.wikidata.org/wiki/Q408","https://g.co/kg/m/0chghy"]},"Canada",{"@type":"Country","name":"Canada","sameAs":["https://en.wikipedia.org/wiki/Canada","https://www.wikidata.org/wiki/Q16","https://g.co/kg/m/0d060g"]},"Russia",{"@type":"Country","name":"Russia","sameAs":["https://en.wikipedia.org/wiki/Russia","https://www.wikidata.org/wiki/Q159","https://g.co/kg/m/06bnz"]},"China",{"@type":"Country","name":"China","sameAs":["https://en.wikipedia.org/wiki/China","https://www.wikidata.org/wiki/Q148","https://g.co/kg/m/0d05w3"]}],"memberOf":["Mensa International",{"@type":"Organization","name":"Mensa International","sameAs":["https://en.wikipedia.org/wiki/Mensa_International","https://www.wikidata.org/wiki/Q184194","https://g.co/kg/m/0140pf"]},"National Rifle Association",{"@type":"Organization","name":"National Rifle Association","sameAs":["https://en.wikipedia.org/wiki/National_Rifle_Association","https://www.wikidata.org/wiki/Q863259","https://g.co/kg/m/0j6f9"]},"CompTIA",{"@type":"Organization","name":"CompTIA","sameAs":["https://en.wikipedia.org/wiki/CompTIA","https://www.wikidata.org/wiki/Q597534","https://g.co/kg/m/040shq"]},"ISFCE LLC",{"@type":"Organization","name":"ISFCE LLC","sameAs":["https://isfce.com","https://g.co/kg/g/11wxm5r0rg"]}],"hasCredential":[{"@type":"EducationalOccupationalCredential","name":"Joomla 3 Certified Administrator","credentialCategory":"Certification","description":"Administrator Exam is the first available Joomla! certification exam","recognizedBy":{"@type":"Organization","name":"Open Source Matters, Inc.","sameAs":["https://en.wikipedia.org/wiki/Open_Source_Matters,_Inc.","https://g.co/kg/g/11f00wvjhz"]},"url":"https://certification.joomla.org/certified-user-directory/michael-richey","about":["Content management system",{"@type":"Thing","name":"Content management system","sameAs":["https://en.wikipedia.org/wiki/Content_management_system","https://www.wikidata.org/wiki/Q131093","https://g.co/kg/m/0k23c"]},"Web content management system",{"@type":"Thing","name":"Web content management system","sameAs":["https://en.wikipedia.org/wiki/Web_content_management_system","https://www.wikidata.org/wiki/Q45211","https://g.co/kg/m/0615s2"]},"Joomla",{"@type":"Thing","name":"Joomla","sameAs":["https://en.wikipedia.org/wiki/Joomla","https://www.wikidata.org/wiki/Q13167","https://g.co/kg/m/07qb81"]}],"educationalLevel":"expert","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/contact/badge.webp","contentUrl":"https://www.richeyweb.com/images/contact/badge.webp","width":{"@type":"QuantitativeValue","value":300,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":86,"unitCode":"PX"},"caption":"Joomla 3 Certified Administrator"}},{"@type":"EducationalOccupationalCredential","name":"Certified Computer Examiner","credentialCategory":"Certification","description":"Internationally recognized computer forensics certifiecation","recognizedBy":{"@type":"Organization","name":"ISFCE LLC","sameAs":["https://en.wikipedia.org/wiki/ISFCE_LLC","https://g.co/kg/g/11wxm5r0rg"]},"url":"https://isfce.com/","about":["Digital forensics",{"@type":"Thing","name":"Digital forensics","sameAs":["https://en.wikipedia.org/wiki/Digital_forensics","https://www.wikidata.org/wiki/Q3246940","https://g.co/kg/m/0cnxzfx"]},"Computer forensics",{"@type":"Thing","name":"Computer forensics","sameAs":["https://en.wikipedia.org/wiki/Computer_forensics","https://www.wikidata.org/wiki/Q878553","https://g.co/kg/m/02wxbd"]},"Mobile device forensics",{"@type":"Thing","name":"Mobile device forensics","sameAs":["https://en.wikipedia.org/wiki/Mobile_device_forensics","https://www.wikidata.org/wiki/Q6887097","https://g.co/kg/m/06zp3tp"]},"Network forensics",{"@type":"Thing","name":"Network forensics","sameAs":["https://en.wikipedia.org/wiki/Network_forensics","https://www.wikidata.org/wiki/Q7001032","https://g.co/kg/m/05pb280"]},"Database forensics",{"@type":"Thing","name":"Database forensics","sameAs":["https://en.wikipedia.org/wiki/Database_forensics","https://www.wikidata.org/wiki/Q5227405","https://g.co/kg/m/0cgqsy"]}],"educationalLevel":"expert","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/contact/isfce-cce.webp","contentUrl":"https://www.richeyweb.com/images/contact/isfce-cce.webp","width":{"@type":"QuantitativeValue","value":150,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":150,"unitCode":"PX"},"caption":"Certified Computer Examiner"}}],"hasOfferCatalog":{"@type":"OfferCatalog","name":"Web Services","itemListElement":[{"@type":"Offer","itemOffered":{"@type":"Service","name":"Hosting"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Development"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Search Engine Optimization"}}]}},{"@type":"WebSite","@id":"https://www.richeyweb.com/#website","url":"https://www.richeyweb.com/","name":"RicheyWeb","publisher":{"@id":"https://www.richeyweb.com/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.richeyweb.com/search?q={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string","valueMaxLength":256,"valueMinLength":2,"valuePattern":"^[A-Za-z0-9\\s]+$"}},"creator":{"@id":"https://www.richeyweb.com/#organization"},"copyrightHolder":{"@id":"https://www.richeyweb.com/#organization"}},{"@type":"WebPage","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#webpage","url":"https://www.richeyweb.com/software/documentation/content-miniglobe","name":"Content - MiniGlobe Documentation","description":"Documentation for the Content - MiniGlobe plugin - a lightweight 3D globe with marker support by RicheyWeb.com","isPartOf":{"@id":"https://www.richeyweb.com/#website"},"about":{"@id":"https://www.richeyweb.com/#organization"},"inLanguage":"en-GB"},{"@type":"Article","headline":"Content - MiniGlobe Documentation","description":"Documentation for the Content - MiniGlobe plugin - a lightweight 3D globe with marker support by RicheyWeb.com","author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"},"datePublished":"2025-09-24T00:00:00+00:00","dateModified":"2026-01-09T00:00:00+00:00","about":["Joomla",{"@type":"Thing","name":"Joomla","sameAs":["https://en.wikipedia.org/wiki/Joomla","https://www.wikidata.org/wiki/Q13167","https://g.co/kg/m/07qb81"]},"Three-dimensional space",{"@type":"Thing","name":"Three-dimensional space","sameAs":["https://en.wikipedia.org/wiki/Three-dimensional_space","https://www.wikidata.org/wiki/Q34929","https://g.co/kg/g/122wtj3c"]},"Globe",{"@type":"Thing","name":"Globe","sameAs":["https://en.wikipedia.org/wiki/Globe","https://www.wikidata.org/wiki/Q133792","https://g.co/kg/m/01q_cy"]},"Technical documentation",{"@type":"Thing","name":"Technical documentation","sameAs":["https://en.wikipedia.org/wiki/Technical_documentation","https://www.wikidata.org/wiki/Q1413406","https://g.co/kg/m/0521g6n"]},"Content - Mini-Globe",{"@type":"Thing","@id":"https://www.richeyweb.com/software/joomla/plugins/content-miniglobe/#softwareapplication","name":"Content - Mini-Globe","sameAs":["https://extensions.joomla.org/extension/maps-a-weather/maps-a-locations/content-miniglobe/","https://en.wikipedia.org/wiki/Content_-_Mini-Globe"]}],"mentions":["NASA",{"@type":"GovernmentOrganization","name":"NASA","sameAs":["https://en.wikipedia.org/wiki/NASA","https://www.wikidata.org/wiki/Q23548","https://g.co/kg/m/05f4p"]},"Natural Earth",{"@type":"Thing","name":"Natural Earth","sameAs":["https://en.wikipedia.org/wiki/Natural_Earth","https://www.wikidata.org/wiki/Q6980476","https://g.co/kg/m/0ddggw5"]},"New York",{"@type":"City","name":"New York","sameAs":["https://en.wikipedia.org/wiki/New_York_City","https://www.wikidata.org/wiki/Q22654","https://g.co/kg/m/02_286"]},"London",{"@type":"City","name":"London","sameAs":["https://en.wikipedia.org/wiki/London,_Ohio","https://www.wikidata.org/wiki/Q84","https://g.co/kg/m/0b2sm"]},"WebGL",{"@type":"Thing","name":"WebGL","sameAs":["https://en.wikipedia.org/wiki/WebGL","https://www.wikidata.org/wiki/Q375913","https://g.co/kg/m/07s89rs"]},"Content management system",{"@type":"Thing","name":"Content management system","sameAs":["https://en.wikipedia.org/wiki/Content_management_system","https://www.wikidata.org/wiki/Q131093","https://g.co/kg/m/0k23c"]},"Plug-in",{"@type":"Thing","name":"Plug-in","sameAs":["https://en.wikipedia.org/wiki/Plug-in_(computing)","https://www.wikidata.org/wiki/Q3906765","https://g.co/kg/m/05x35"]}],"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#article","isPartOf":{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#webpage"},"publisher":{"@id":"https://www.richeyweb.com/#organization"},"articleSection":"Documentation","url":"https://www.richeyweb.com/software/documentation/content-miniglobe","hasPart":[{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-overview_2_1"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-installation_2_2"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-usage_2_3"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-tag-attributes_3_4"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-example-tags_3_5"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-marker-format_3_6"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-javascript-marker-control_2_7"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-api-methods_3_8"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-complete-example_3_9"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-nation-color-overlay-feature_2_10"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-how-it-works_3_11"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-usage_3_12"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-important-notes_3_13"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-example-creating-a-heat-map_3_14"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-example-highlighting-regions_3_15"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-technical-details_3_16"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-performance-considerations_3_17"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-configuration_2_18"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-texture-requirements_2_19"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-advanced-features_2_20"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-procedural-rendering_3_21"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-atmospheric-glow_3_22"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-graticule-grid_3_23"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-independent-cloud-rotation_3_24"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-marker-types_3_25"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-performance-notes_2_26"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-notes_2_27"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-migration-from-5-1-x-to-5-2_2_28"},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-troubleshooting_2_29"}]},{"@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex","@type":"ItemList","name":"Content - MiniGlobe Documentation","numberOfItems":29,"itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-overview_2_1","name":"Overview","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-overview_2_1"}},{"@type":"ListItem","position":2,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-installation_2_2","name":"Installation","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-installation_2_2"}},{"@type":"ListItem","position":3,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-usage_2_3","name":"Usage","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-usage_2_3"}},{"@type":"ListItem","position":4,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-tag-attributes_3_4","name":"Tag Attributes","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-tag-attributes_3_4"}},{"@type":"ListItem","position":5,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-example-tags_3_5","name":"Example Tags","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-example-tags_3_5"}},{"@type":"ListItem","position":6,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-marker-format_3_6","name":"Marker Format","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-marker-format_3_6"}},{"@type":"ListItem","position":7,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-javascript-marker-control_2_7","name":"JavaScript Marker Control","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-javascript-marker-control_2_7"}},{"@type":"ListItem","position":8,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-api-methods_3_8","name":"API Methods","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-api-methods_3_8"}},{"@type":"ListItem","position":9,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-complete-example_3_9","name":"Complete Example","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-complete-example_3_9"}},{"@type":"ListItem","position":10,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-nation-color-overlay-feature_2_10","name":"Nation Color Overlay Feature","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-nation-color-overlay-feature_2_10"}},{"@type":"ListItem","position":11,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-how-it-works_3_11","name":"How It Works","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-how-it-works_3_11"}},{"@type":"ListItem","position":12,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-usage_3_12","name":"Usage","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-usage_3_12"}},{"@type":"ListItem","position":13,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-important-notes_3_13","name":"Important Notes","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-important-notes_3_13"}},{"@type":"ListItem","position":14,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-example-creating-a-heat-map_3_14","name":"Example: Creating a Heat Map","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-example-creating-a-heat-map_3_14"}},{"@type":"ListItem","position":15,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-example-highlighting-regions_3_15","name":"Example: Highlighting Regions","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-example-highlighting-regions_3_15"}},{"@type":"ListItem","position":16,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-technical-details_3_16","name":"Technical Details","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-technical-details_3_16"}},{"@type":"ListItem","position":17,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-performance-considerations_3_17","name":"Performance Considerations","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-performance-considerations_3_17"}},{"@type":"ListItem","position":18,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-configuration_2_18","name":"Configuration","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-configuration_2_18"}},{"@type":"ListItem","position":19,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-texture-requirements_2_19","name":"Texture Requirements","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-texture-requirements_2_19"}},{"@type":"ListItem","position":20,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-advanced-features_2_20","name":"Advanced Features","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-advanced-features_2_20"}},{"@type":"ListItem","position":21,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-procedural-rendering_3_21","name":"Procedural Rendering","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-procedural-rendering_3_21"}},{"@type":"ListItem","position":22,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-atmospheric-glow_3_22","name":"Atmospheric Glow","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-atmospheric-glow_3_22"}},{"@type":"ListItem","position":23,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-graticule-grid_3_23","name":"Graticule Grid","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-graticule-grid_3_23"}},{"@type":"ListItem","position":24,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-independent-cloud-rotation_3_24","name":"Independent Cloud Rotation","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-independent-cloud-rotation_3_24"}},{"@type":"ListItem","position":25,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-marker-types_3_25","name":"Marker Types","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-marker-types_3_25"}},{"@type":"ListItem","position":26,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-performance-notes_2_26","name":"Performance Notes","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-performance-notes_2_26"}},{"@type":"ListItem","position":27,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-notes_2_27","name":"Notes","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-notes_2_27"}},{"@type":"ListItem","position":28,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-migration-from-5-1-x-to-5-2_2_28","name":"Migration from 5.1.x to 5.2+","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-migration-from-5-1-x-to-5-2_2_28"}},{"@type":"ListItem","position":29,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/content-miniglobe#articleindex-toc-troubleshooting_2_29","name":"Troubleshooting","url":"https://www.richeyweb.com/software/documentation/content-miniglobe#toc-troubleshooting_2_29"}}]}]}
```
