PHPackages                             superbig/craft-vzaddress - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. superbig/craft-vzaddress

AbandonedArchivedCraft-plugin[Utility &amp; Helpers](/categories/utility)

superbig/craft-vzaddress
========================

A simple address field for Craft.

2.0.2(7y ago)46.7k3[1 issues](https://github.com/superbigco/craft-vzaddress/issues)[2 PRs](https://github.com/superbigco/craft-vzaddress/pulls)MITPHP

Since Oct 23Pushed 2y ago1 watchersCompare

[ Source](https://github.com/superbigco/craft-vzaddress)[ Packagist](https://packagist.org/packages/superbig/craft-vzaddress)[ RSS](/packages/superbig-craft-vzaddress/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (3)Dependencies (1)Versions (5)Used By (0)

VZ Address plugin for Craft CMS 3.x
===================================

[](#vz-address-plugin-for-craft-cms-3x)

A simple address field for Craft.

[![Screenshot](src/icon.svg)](src/icon.svg)

Requirements
------------

[](#requirements)

This plugin requires Craft CMS 3.0.0-beta.23 or later.

Installation
------------

[](#installation)

To install the plugin, follow these instructions.

1. Open your terminal and go to your Craft project:

    ```
     cd /path/to/project

    ```
2. Then tell Composer to load the plugin:

    ```
     composer require superbig/craft-vzaddress

    ```
3. In the Control Panel, go to Settings → Plugins and click the “Install” button for VZ Address.

VZ Address Overview
-------------------

[](#vz-address-overview)

This is a Craft 3 port of [VZ Address](https://github.com/elivz/VzAddress-Craft) by Eli Van Zoeren.

Using VZ Address
----------------

[](#using-vz-address)

### Single-line output

[](#single-line-output)

Just output the address, on a single line.

```
{{ entry.fieldName.text }}

```

### Plain text ouput

[](#plain-text-ouput)

Standard address format, with line-breaks at the end of each line.

```
{{ entry.fieldName.text(true) }}

```

Or simply:

```
{{ entry.fieldName }}

```

### HTML ouput

[](#html-ouput)

Standard address format, with `` tags at the end of each line.

```
{{ entry.fieldName.html }}

```

You can also output the html in one of three structured data formats: Schema.org, Microformats, and RDFa. To do that, just add your preferred format as a parameter to the `html` tag.

```
{{ entry.fieldName.html('schema') }}

```

### Address components

[](#address-components)

```
{{ entry.fieldName.name }}
{{ entry.fieldName.street }}
{{ entry.fieldName.street2 }}
{{ entry.fieldName.city }}
{{ entry.fieldName.region }}
{{ entry.fieldName.postalCode }}
{{ entry.fieldName.country }} // Abbreviation, e.g. "US"
{{ entry.fieldName.countryName }} // Full name, e.g. "United States"

```

### Link to the address on an external mapping service

[](#link-to-the-address-on-an-external-mapping-service)

```
{{ entry.fieldName.mapUrl('google', { zoom: 5 }) }}

```

The first parameter is the service to use, one of `google`, `yahoo`, `bing`, or `mapquest`. The second parameter is an array of paramters to be passed through in the map URL. Please see the documentation for the particular mapping provider you are using for the available options.

### Output the URL of a static map image from Google Maps

[](#output-the-url-of-a-static-map-image-from-google-maps)

```
{% set mapParams = {
    width: '400',
    height: '200',
    type: 'satellite',
    key: '12345'
    styles: [
        {
            'featureType': 'road.local',
            'elementType': 'geometry',
            'stylers': [
                { 'color': '#00ff00' }
            ]
        }
    ]
} %}
{{ entry.fieldName.staticMapUrl(mapParams) }}

```

The available parameters include:

- `width` and `height` - The size in pixels of the image that is generated. (default: 400 x 200)
- `scale` - Number of pixels returned. Set this to `2` for retina/hidpi support. (default: 1)
- `zoom` - Zoom level of the map. (default: 14)
- `format` - Specifies the image format to return. One of: png, png32, jpg, jpg-baseline, or gif. (default: png)
- `type` - One of: roadmap, satellite, hybrid, or terrain. (default: roadmap)
- `markerSize` - The relative size of the pushpin that marks the address location. One of: normal, mid, small, or tiny. (default: normal)
- `markerColor` - The color of the pushpin. Either a named color (black, brown, green, purple, yellow, blue, gray, orange, red, or white) or a 6-digit hex-code, like "#ff0000". Three-digit color codes are not supported. (default: red)
- `markerLabel` - Instead of the normal dot, you can specify a single letter or number to appear on the pushpin. (default: none)
- `key` - Your [Google API key](https://developers.google.com/maps/documentation/static-maps/get-api-key). Not required, but you may be subject to usage limits if you don't have an API key. You can also specify your API key globally in the plugin settings page. (default: none)
- `styles` - A [multidimensional array](https://developers.google.com/maps/documentation/javascript/styling) defining the styling you wish to be applied to the map

### Output an image tag containing the static Google Map

[](#output-an-image-tag-containing-the-static-google-map)

```
{% set mapParams = {
    width: '400',
    height: '200',
    type: 'satellite'
} %}
{{ entry.fieldName.staticMap(mapParams) }}

```

Accepts the same parameters as `staticMapUrl`.

### Output a dynamic Google Map

[](#output-a-dynamic-google-map)

```
{% set options = {
    width: 400,
    height: 200,
    clickableIcons: 'false',
    disableDefaultUI: 'true',
    disableDoubleClickZoom: 'false',
    draggable: 'true',
    draggableCursor: 'null',
    draggingCursor: 'null',
    fullscreenControl: 'true',
    gestureHandling: 'null',
    heading: '0',
    keyboardShortcuts: 'true',
    mapTypeControl: 'false',
    maxZoom: 'null',
    minZoom: 'null',
    noClear: 'false',
    rotateControl: 'false',
    scaleControl: 'false',
    scrollwheel: 'true',
    streetViewControl: 'false',
    tilt: '0',
    zoom: '16',
    zoomControl: 'false',
    styles: [
        {
            'featureType': 'road.local',
            'elementType': 'geometry',
            'stylers': [
                { 'color': '#00ff00' }
            ]
        }
    ]
} %}

{% set icon = {
    url: "path/to/icon.png",
    width: 50,
    height: 50,
    origin: {
        x: 0,
        y: 0
    },
    anchor: {
        x: 0,
        y: 0
    }
} %}

{{ entry.fieldName.dynamicMap(options, icon) }}

```

- The options array mirrors the [MapOptions](https://developers.google.com/maps/documentation/javascript/3.exp/reference#MapOptions) configuration from Google Maps Javascript API. All available options are shown in the example above. Only the `width`, `height`, &amp; `zoom` options are set by default.
- The icon array is used for configuring the look of the marker icon. All available options are shown in the example above.

### Bonus: Output a list of all countries

[](#bonus-output-a-list-of-all-countries)

VZ Address makes available an array of all countries indexed by their country code as `craft.vzAddress.countries`. You can use this to generate your frontend entry form, or wherever you may need a list of all the countries in the world.

```

    {% for countryCode, countryName in craft.vzAddress.countries %}
        {{ countryName }}
    {% endfor %}

```

Brought to you by [Superbig](https://superbig.co)

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance15

Infrequent updates — may be unmaintained

Popularity28

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 92.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~7 days

Total

3

Last Release

2750d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/800b029eac606eb58930bcdf0d887e14aa63c31a203744c30befca8a58aa79b4?d=identicon)[superbig](/maintainers/superbig)

---

Top Contributors

[![sjelfull](https://avatars.githubusercontent.com/u/10508?v=4)](https://github.com/sjelfull "sjelfull (13 commits)")[![davist11](https://avatars.githubusercontent.com/u/199985?v=4)](https://github.com/davist11 "davist11 (1 commits)")

---

Tags

cmsCraftcraftcmscraft-pluginvz address

### Embed Badge

![Health badge](/badges/superbig-craft-vzaddress/health.svg)

```
[![Health](https://phpackages.com/badges/superbig-craft-vzaddress/health.svg)](https://phpackages.com/packages/superbig-craft-vzaddress)
```

###  Alternatives

[verbb/navigation

Create navigation menus for your site.

90683.7k17](/packages/verbb-navigation)[verbb/formie

The most user-friendly forms plugin for Craft.

101372.9k40](/packages/verbb-formie)[verbb/comments

Add comments to your site.

13753.1k](/packages/verbb-comments)[verbb/tablemaker

Create customizable and user-defined table fields.

40168.8k1](/packages/verbb-tablemaker)[supercool/tablemaker

Create customizable and user-defined table fields.

40141.7k](/packages/supercool-tablemaker)[pennebaker/craft-architect

CraftCMS plugin to generate content models from JSON/YAML data.

72148.5k5](/packages/pennebaker-craft-architect)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
