2017 © Pedro PelĂĄez
 

library nettegmap

Nette/forms addon. Viewer, picker and new layer for Google maps

image

venca-x/nettegmap

Nette/forms addon. Viewer, picker and new layer for Google maps

  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 14 Versions
  • 3 % Grown

The README.md

Nettegmap

Test Coding Style Coverage Status Total Downloads Latest Stable Version Latest Unstable Version License, (*1)

Nette addon. Viewer and picker for Google maps, (*2)

This branch is for Nette 3.0, (*3)

Version PHP     Recommended Nette
dev-master >= 8.0 Nette 3.0 (Nette\SmartObject)
1.3.x >= 8.0 Nette 3.0 (Nette\SmartObject)
1.2.x >= 7.1 Nette 2.4 (Nette\SmartObject)
1.1.x >= 5.3.7 Nette 2.4, 2.3 (Nette\Object)
1.0.x >= 5.3.7 Nette 2.4, 2.3 (Nette\Object)

Installation

Install with composer:, (*4)

composer require venca-x/nettegmap:dev-master

You need use jQuery., (*5)

Configuration

bootstrap.php add register line OR add line in config.neon, (*6)

Nette\Forms\NetteGMapPicker::register();//require only form picker

OR add line to config.neon:, (*7)

extensions:
    nettegmap: Nette\Forms\NetteGMapPicker
<link rel="stylesheet" media="screen,projection,tv" href="{$basePath}/css/netteGMap.css">

<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?libraries=places&key=YOUR_API_KEY" type="text/javascript"></script>
<script type="text/javascript" src="{$basePath}/js/jquery.netteGMap.js"></script>
<script type="text/javascript" src="{$basePath}/js/main.js"></script>

You must generate YOUR_API_KEY in https://console.developers.google.com/?hl=cs (Credentials -> API key), (*8)

Enable Maps JavaScript API in https://console.developers.google.com/?hl=cs, (*9)

For search by address in maps enable Places API for Web in https://console.developers.google.com/?hl=cs, (*10)

Usage with Bower

concat: {
    js: {
        src: ['bower_components/jquery/dist/jquery.min.js',
            'vendor/nette/forms/src/assets/netteForms.js',
            'bower_components/bootstrap/dist/js/bootstrap.min.js',
            'vendor/venca-x/nettegmap/client/js/jquery.netteGMap.js',
            'www/js/main.js'
        ],
        dest: 'www/js/compiled.min.js'
    }
},
cssmin: {
    target: {
        files: {
            'www/css/main.min.css': ['www/css/main.css','vendor/venca-x/nettegmap/client/css/netteGMap.css']
        }
    }
}

Simple usage viewer marker

This example show how to view map with marker:, (*11)

viewer simple, (*12)

protected function createComponentNetteGMapSimpleViewer() {
    $markers = array();
    $markers[] = new \Marker("home", "description", "49.1695254488", "14.2521617334");

    //$netteGMapViewer->setCenterMap(new \GpsPoint(49.1695254488,14.2521617334));
    //$netteGMapViewer->setScrollWheel(true);
    //$netteGMapViewer->setZoom(12);
    $netteGMapViewer = new \NetteGMapViewer($markers);

    return $netteGMapViewer;
}
{control netteGMapSimpleViewer}

Usage viewer marker with polyline

This example show how to show map with marker: viewer polyline, (*13)

protected function createComponentNetteGMapViewerPolyline() {
    $markers = array();
    $markers[] = new \Marker("home", "description", "49.1695254488", "14.2521617334");

    //$netteGMapViewer->setCenterMap(new \GpsPoint(49.1695254488,14.2521617334));
    //$netteGMapViewer->setScrollwheel(TRUE);
    //$netteGMapViewer->setZoom(12);
    $netteGMapViewer = new \NetteGMapViewer($markers);    

    //add polyline to map
    $coordinates = array(
        new \GpsPoint(49.169669, 14.252152),
        new \GpsPoint(49.169399, 14.252175),
        new \GpsPoint(49.169532, 14.251842),
        new \GpsPoint(49.169669, 14.252152)
    );
    $polyLine = new \PolyLine($coordinates);
    $netteGMapViewer->setPolyLine($polyLine);

    return $netteGMapViewer;
}
{control netteGMapViewerPolyline}

Usage picker in form

This example show how to set GPS position on map: picker, (*14)

protected function createComponentGMapForm() {

    $form = new Nette\Application\UI\Form;

    $form->addGMap('position', 'Position:')
        ->setWidth("500")
        ->setHeight("500");
        //->showMyActualPositionButton();
        //->setScrollwheel(TRUE);

    $form->addSubmit('send', 'Save');

    $form->onSuccess[] = [$this, 'gMapFormSucceeded'];
    return $form;
}

public function gMapFormSucceeded($form) {
    $values = $form->getValues();

    dump($values);
    exit();
} 

Set default position value for picker:, (*15)

$form->setDefaults(array(
    'position' => array(
        'latitude' => "49.1695254488",
        'longitude' => "14.2521617334",
    ),
));

Latte:, (*16)

{control gMapForm}

After send form:, (*17)

Nette\ArrayHash #f110
    position => array (2)
        latitude => "50.0923932109" (13)
        longitude => "14.4580078125" (13)

Usage layer

This example show how to add own picture on map as a new layer: layer, (*18)

protected function createComponentNetteGMapLayer() {
    $netteGMapViewer = new \NetteGMapLayer();
    //$netteGMapViewer->setCenterMap(new \GpsPoint("48.977153", "14.454486"));
    $netteGMapViewer->setHeight("600px");
    $netteGMapViewer->setScrollwheel(TRUE);
    $netteGMapViewer->setZoom(18);

    $netteGMapViewer->setLayerUrlImage("http://www.barcampjc.cz/pictures/parkoviste.jpg");

    $netteGMapViewer->setLayerLeftDownCorner(new \GpsPoint(48.97685376928403, 14.453693823169715));
    $netteGMapViewer->setLayerRightTopCorner(new \GpsPoint(48.97771464665134, 14.45583921230309));

    return $netteGMapViewer;
}

Latte:, (*19)

{control netteGMapLayer}

Get coordinates from address

\GMapUtils::getCoordinatesFromAddress("Prague, Czech Republic")

return, (*20)

array( "gps_lat" => 50.0755381, "gps_lon" => 14.4378005)

Get address from coordinates

\GMapUtils::getAddressFromCoordinates( 50.0755381, 14.4378005 )

return, (*21)

Náměstí Míru 820/9, 120 00 Praha-Praha 2, Czech Republic

Set marker position from out script (JS)

$( "#my-div-map div.nettegmap-canvas" ).setMarkerPosition( 14.1111, 48.2222 );

Limits looking coordinates

Users of the free API: 2,500 requests per 24 hour period. 5 requests per second., (*22)

Callback after change position marker in main.js

When you want call your code after marker position chaged, you can be inspired by this code. main.js, (*23)

$( function() {
    $( 'body' ).netteGMapPicker( {

        //my callback marker change position
        changePositionMarker: function( results ) {    
            var district = results[4].formatted_address.split(",");
            //alert( district[0] );
            $("select#frm-addCompetitionForm-district_id option").each(function() { this.selected = ( this.text === district[0] ); });
            $("select#frm-editCompetitionForm-district_id option").each(function() { this.selected = ( this.text === district[0] ); });
            //alert('changePositionMarker');
        }

    } );    
} );

The Versions

02/05 2018

dev-master

9999999-dev

Nette/forms addon. Viewer, picker and new layer for Google maps

  Sources   Download

MIT

The Requires

 

The Development Requires

02/05 2018

v1.2.x-dev

1.2.9999999.9999999-dev

Nette addon. Viewer, picker and new layer for Google maps

  Sources   Download

MIT

The Requires

 

The Development Requires

02/05 2018

1.2.0

1.2.0.0

Nette addon. Viewer, picker and new layer for Google maps

  Sources   Download

MIT

The Requires

 

The Development Requires

02/05 2018

1.1.5

1.1.5.0

Nette addon. Viewer, picker and new layer for Google maps

  Sources   Download

MIT

The Requires

 

The Development Requires

05/09 2017

v1.1.x-dev

1.1.9999999.9999999-dev

Nette addon. Viewer, picker and new layer for Google maps

  Sources   Download

MIT

The Requires

 

The Development Requires

25/07 2016

v1.1.4

1.1.4.0

Nette addon. Viewer, picker and new layer for Google maps

  Sources   Download

MIT

The Requires

 

The Development Requires

22/07 2016

v1.1.3

1.1.3.0

Nette addon. Viewer, picker and new layer for Google maps

  Sources   Download

MIT

The Requires

 

The Development Requires

21/07 2016

v1.1.2

1.1.2.0

Nette addon. Viewer, picker and new layer for Google maps

  Sources   Download

MIT

The Requires

 

The Development Requires

06/03 2016

v1.1.1

1.1.1.0

Nette addon. Viewer, picker and new layer for Google maps

  Sources   Download

MIT

The Requires

 

The Development Requires

20/02 2016

v1.1.0

1.1.0.0

Nette addon. Viewer, picker and new layer for Google maps

  Sources   Download

MIT

The Requires

 

The Development Requires

17/02 2016

1.0.x-dev

1.0.9999999.9999999-dev

Nette addon. Viewer and picker google maps

  Sources   Download

MIT

The Requires

 

The Development Requires

17/02 2016

v1.0.2

1.0.2.0

Nette addon. Viewer and picker google maps

  Sources   Download

MIT

The Requires

 

The Development Requires

02/04 2015

v1.0.1

1.0.1.0

Nette addon. Viewer and picker google maps

  Sources   Download

MIT

The Requires

 

The Development Requires

02/02 2015

v1.0.0

1.0.0.0

Nette addon. Viewer and picker google maps

  Sources   Download

MIT

The Requires

 

The Development Requires