Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 

Repository files navigation

Yii2 google api library


Latest Stable Version Total Downloads License

A collection of google map api calls, staticmap, geocode, iframe map

...for Google API v3, PHP >= 5.4.0, Yii 2.0.*

Installation

The preferred way to install this component is through composer.

Either run

php composer.phar require --prefer-dist quexer69/yii2-google-api "2.0.*"

or add

"quexer69/yii2-google-api": "2.0.*"

to the require section of your composer.json file.

Configuration

in your app and/or console configuration file, add these

'components' => [

    // Google Maps Image and Geocode API settings for \Yii::$app->googleApi component
    'googleApi'   => [
            'class'             => 'quexer\googleapi\GoogleApiLibrary',
            
            // API Keys !!!
            'staticmap_api_key' => '***************************************',
            'geocode_api_key'   => '***************************************',
            
            // Set basePath
            'webroot'           => '@webroot',
            
            // Image path and map iframe settings
            'map_image_path'    => '/images/google_map',
            'map_type'          => 'terrain',
            'map_size'          => '520x350',
            'map_sensor'        => false,
            'map_zoom'          => 9,
            'map_scale'         => 1,
            'map_marker_color'  => 'red',
            'map_iframe_width'  => '100%', // %, px, em
            'map_iframe_height' => '500px',  // %, px, em
            'map_language'        => 'de',
            
            // Debug
            'quiet'             => false
    ],
    ...
],

Public Methods

\Yii::$app->googleApi->renderMapIframe($address, $latlng, $iFrameWidth, $iFrameHeight)

\Yii::$app->googleApi->createImage($address, $latlng, $setMarker)

\Yii::$app->googleApi->getGeoCodeObject($address, $latlng)

\Yii::$app->googleApi->getDistance($start, $finish, $unit)

\Yii::$app->googleApi->getBounds($address)

Usage

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

// Use $address OR $latlng
$address 	          = '70180 Stuttgart, Germany';
$latlng 	          = '48.7632145,9.174027';

Create a Google map image

$relFilePath          = \Yii::$app->googleApi->createImage($address, null, true);

To simply get the Google geocode object

$relFilePath          = \Yii::$app->googleApi->getGeoCodeObject(null, $latlng);

Render a Google map iframe

$iframeMarkup         = \Yii::$app->googleApi->renderMapIframe(null, $latlng);

Calculate Distance between two geo points

$latlng_origin	      = ['48.7632145','9.174027'];
$latlng_destination	  = ['48.4525334','9.468254'];
$unit		          = 'miles'; // 'miles' or 'km'

$floatDistance        = \Yii::$app->googleApi->getDistance($latlng_origin, $latlng_destination, $unit);

See also

... a more extensive variant

Resources

About

A collection of google map api calls, staticmap, geocode, iframe map

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages