ziaadini / yii2-google-maps-library
Yii2的Google Maps API库。
dev-master
2024-07-20 05:39 UTC
Requires
- ext-json: *
- ext-simplexml: >=7.2
- guzzlehttp/guzzle: 6.*
- yiisoft/yii2: >=2.0.13
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.10@dev
- roave/security-advisories: dev-master
This package is auto-updated.
Last update: 2024-09-20 05:56:25 UTC
README
Yii2的Google Maps API库
简介
尽管我们已经创建了一个显示远离Google政策地图的扩展,并且与LeafLetJs库协同工作,但我们仍然收到了更新EGMap扩展的请求。因此,我们认为,如果我们更新它,我们应该更新这个库并使其与Yii2兼容。这就是创建此扩展的原因。
然而,需要注意的是,我们还没有时间(目前)编写关于它的良好文档。我们希望尽早发布它,以防Yii2的某位开发者缺少EGMap库,并希望我们根据其测试和错误发现更新它。
github仓库将继续更新,并为其使用编写良好的文档。所以请耐心等待。如果您需要,任何帮助都将非常感激。
安装
安装此扩展的首选方式是通过composer。
运行
php composer.phar require "ziaadini/yii2-google-maps-library" "*"
或在您的应用程序的composer.json
文件的require部分添加
"ziaadini/yii2-google-maps-library" : "*"
。
使用
尽管将有大量如何使用它的示例,但以下是一个提供其使用快照的示例
服务
use ziaadini\google\maps\LatLng; use ziaadini\google\maps\services\DirectionsWayPoint; use ziaadini\google\maps\services\TravelMode; use ziaadini\google\maps\overlays\PolylineOptions; use ziaadini\google\maps\services\DirectionsRenderer; use ziaadini\google\maps\services\DirectionsService; use ziaadini\google\maps\overlays\InfoWindow; use ziaadini\google\maps\overlays\Marker; use ziaadini\google\maps\Map; use ziaadini\google\maps\services\DirectionsRequest; use ziaadini\google\maps\overlays\Polygon; use ziaadini\google\maps\layers\BicyclingLayer; $coord = new LatLng(['lat' => 39.720089311812094, 'lng' => 2.91165944519042]); $map = new Map([ 'center' => $coord, 'zoom' => 14, ]); // lets use the directions renderer $home = new LatLng(['lat' => 39.720991014764536, 'lng' => 2.911801719665541]); $school = new LatLng(['lat' => 39.719456079114956, 'lng' => 2.8979293346405166]); $santo_domingo = new LatLng(['lat' => 39.72118906848983, 'lng' => 2.907628202438368]); // setup just one waypoint (Google allows a max of 8) $waypoints = [ new DirectionsWayPoint(['location' => $santo_domingo]) ]; $directionsRequest = new DirectionsRequest([ 'origin' => $home, 'destination' => $school, 'waypoints' => $waypoints, 'travelMode' => TravelMode::DRIVING ]); // Lets configure the polyline that renders the direction $polylineOptions = new PolylineOptions([ 'strokeColor' => '#FFAA00', 'draggable' => true ]); // Now the renderer $directionsRenderer = new DirectionsRenderer([ 'map' => $map->getName(), 'polylineOptions' => $polylineOptions ]); // Finally the directions service $directionsService = new DirectionsService([ 'directionsRenderer' => $directionsRenderer, 'directionsRequest' => $directionsRequest ]); // Thats it, append the resulting script to the map $map->appendScript($directionsService->getJs()); // Lets add a marker now $marker = new Marker([ 'position' => $coord, 'title' => 'My Home Town', ]); // Provide a shared InfoWindow to the marker $marker->attachInfoWindow( new InfoWindow([ 'content' => '<p>This is my super cool content</p>' ]) ); // Add marker to the map $map->addOverlay($marker); // Now lets write a polygon $coords = [ new LatLng(['lat' => 25.774252, 'lng' => -80.190262]), new LatLng(['lat' => 18.466465, 'lng' => -66.118292]), new LatLng(['lat' => 32.321384, 'lng' => -64.75737]), new LatLng(['lat' => 25.774252, 'lng' => -80.190262]) ]; $polygon = new Polygon([ 'paths' => $coords ]); // Add a shared info window $polygon->attachInfoWindow(new InfoWindow([ 'content' => '<p>This is my super cool Polygon</p>' ])); // Add it now to the map $map->addOverlay($polygon); // Lets show the BicyclingLayer :) $bikeLayer = new BicyclingLayer(['map' => $map->getName()]); // Append its resulting script $map->appendScript($bikeLayer->getJs()); // Display the map -finally :) echo $map->display();
客户端
use ziaadini\google\maps\services\DirectionsClient; $direction = new DirectionsClient([ 'params' => [ 'language' => Yii::$app->language, 'origin' => 'street from', 'destination' => 'street to' ] ]); $data = $direction->lookup(); //get data from google.maps API
此扩展还具有插件架构,允许我们增强它,因此预计在不久的将来也会开发插件。
配置
要配置Google Maps密钥或其他选项,如语言、版本、库,请使用资产包自定义功能。
'components' => [ 'assetManager' => [ 'bundles' => [ 'ziaadini\google\maps\MapAsset' => [ 'options' => [ 'key' => 'this_is_my_key', 'language' => 'id', 'version' => '3.1.18' ] ] ] ], ],
要获取密钥,请访问https://code.google.com/apis/console/
使用代码嗅探器
执行composer install -o
后,php-cs-fixer
工具将被添加到您的供应商文件。要修复PHP文件的格式,只需执行
./vendor/bin/php-cs-fixer --config=.php_cs.dist fix
资源
beyond software
www.2amigos.us