PHPackages                             kbim-dev/yii2-google-maps - 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. kbim-dev/yii2-google-maps

ActiveYii2-extension[Utility &amp; Helpers](/categories/utility)

kbim-dev/yii2-google-maps
=========================

Google Maps Yii2 wrapper

1.5.1(8y ago)051MITPHP

Since Mar 9Pushed 8y ago1 watchersCompare

[ Source](https://github.com/KBIM-dev/yii2-google-maps)[ Packagist](https://packagist.org/packages/kbim-dev/yii2-google-maps)[ RSS](/packages/kbim-dev-yii2-google-maps/feed)WikiDiscussions master Synced 2w ago

READMEChangelog (1)Dependencies (1)Versions (10)Used By (0)

Google Maps Yii2 wrapper
========================

[](#google-maps-yii2-wrapper)

Google Maps Yii2 wrapper

Forked from \[\] and

- added Localization support.

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

[](#installation)

The preferred way to install this extension is through [composer](http://getcomposer.org/download/).

Either run

```
php composer.phar require --prefer-dist KBIM-dev/yii2-google-maps "*"

```

or add

```
"KBIM-dev/yii2-google-maps": "*"

```

to the require section of your `composer.json` file.

MUST READ
---------

[](#must-read)

[Google Maps JavaScript API v3](https://developers.google.com/maps/documentation/javascript/reference)

BASIC USAGE
-----------

[](#basic-usage)

Once the extension is installed, simply use it in your code by :

```
use KBIM-dev\GoogleMaps\Map;

echo Map::widget([
    'zoom' => 16,
    'center' => 'Red Square',
    'width' => '700px',
    'height' => '400px',
    'mapType' => Map::MAP_TYPE_SATELLITE,
]);
```

There are two ways to set API KEY:

Add to application parameters.

```
config/params.php

return [
.....
'GOOGLE_API_KEY' => 'VIza7yBgBzYEbKx09V566DhM8Ylc3NjWsJ0ps-2' // use your own api key
.....
]
```

Or pass it direct to widget.

```
use KBIM-dev\GoogleMaps\Map;

echo Map::widget([
    'apiKey'=> 'VIza7yBgBzYEbKx09V566DhM8Ylc3NjWsJ0ps-2',
    'zoom' => 3,
    'center' => [20, 40.555],
    'width' => '700px',
    'height' => '400px',
    'mapType' => Map::MAP_TYPE_HYBRID,
]);
```

Parameters

NameDescriptionmapOptionsarray, not required, map object optionszoominteger, not required, default 16centerarray or string, required. If array lat and lng will be used, if string search query will be used. For example: `php 'center'=>[23.091,100.412] ` or `php 'center'=>'London, UK' `widthstring, not required, default 600px. div wrapper widthheightstring, not required, default 600px. div wrapper heightmapTypestring, not required, default ROADMAP. Available types: MAP\_TYPE\_ROADMAP, MAP\_TYPE\_HYBRID, MAP\_TYPE\_SATELLITE, MAP\_TYPE\_TERRAINmarkersarray, not required. Markers that will be added to mapMARKERS
-------

[](#markers)

One or more marker can be added to map. Just pass marker array to widget config

```
use KBIM-dev\GoogleMaps\Map;

echo Map::widget([
    'mapOptions' => ['styles' => file_get_contents(Yii::getAlias('@webroot/res/map-styles.json'))],
    'zoom' => 5,
    'center' => [45, 45],
    'markers' => [
        ['position' => 'Tartu', 'title' => 'marker title', 'content' => 'InfoWindow content', 'options' => ["icon" => "'https://developers.google.com/maps/documentation/javascript/examples/full/images/beachflag.png'"]],
        ['position' => [56,27]],
    ]
]);
```

MARKER OPTIONS
--------------

[](#marker-options)

The following options are allowed:

NameDescriptionpositionstring or array, required. If array lat and lng will be used, if string search query will be used.titlestring, not required. Rollover textcontentstring, not required. Infowindow textoptionsarray, not required. Marker optionsMARKERS FIT BOUNDS
------------------

[](#markers-fit-bounds)

Sometimes you need to show all markers on map, but do not know initial map center and zoom. In this case use widget like this

```
use KBIM-dev\GoogleMaps\Map;

echo Map::widget([
    'width' => '50%',
    'height' => '600px',
    'mapType' => Map::MAP_TYPE_HYBRID,
    'markers' => [
        ['position' => 'Belgrad'],
        ['position' => 'Zagreb'],
        ['position' => 'Skopje'],
        ['position' => 'Podgorica'],
        ['position' => 'Sarajevo'],
    ],
    'markerFitBounds'=>true
]);
```

MAPINPUT
--------

[](#mapinput)

MapInput widget example. This need the following inputs

- address-input for address seach on map
- lat-input for latitude
- lng-input for longitude
- country-input for country name \[optional\]

```
use KBIM-dev\GoogleMaps\MapInput;
