コード例 #1
0
ファイル: MapService.php プロジェクト: thewulf7/friendloc
 /**
  * Create empty map
  *
  * @param Coordinate $center
  * @param bool       $async
  *
  * @return Map
  * @throws \Ivory\GoogleMap\Exception\AssetException
  * @throws \Ivory\GoogleMap\Exception\MapException
  */
 public function createEmptyMap(Coordinate $center, bool $async = true) : Map
 {
     $map = new Map();
     $map->setLanguage('en');
     $map->setPrefixJavascriptVariable('map_');
     $map->setHtmlContainerId('map_canvas');
     $map->setMapOption('mapTypeId', MapTypeId::ROADMAP);
     $map->setAutoZoom(false);
     $map->setCenter($center);
     $map->setMapOption('zoom', 2);
     $map->setJavascriptVariable('location_map');
     $map->setAsync($async);
     $map->setStylesheetOptions(['width' => '100%', 'height' => '300px']);
     return $map;
 }
コード例 #2
0
ファイル: MapService.php プロジェクト: chadyred/crm
 public function generateAction($address, $info_bulle = '', $width = '100%', $height = '100%')
 {
     $geocoder = new \Geocoder\Geocoder();
     $adapter = new \Geocoder\HttpAdapter\CurlHttpAdapter();
     $chain = new \Geocoder\Provider\ChainProvider(array(new \Geocoder\Provider\FreeGeoIpProvider($adapter), new \Geocoder\Provider\HostIpProvider($adapter), new \Geocoder\Provider\GoogleMapsProvider($adapter, 'fr_FR', 'France', true), new \Geocoder\Provider\BingMapsProvider($adapter, 'AIzaSyBZ3sNuoMPrXGCNbhnEbGmfzGxOohhEX4E')));
     $geocoder->registerProvider($chain);
     $address = urldecode($address);
     $info_bulle = urldecode($info_bulle);
     // Récupération des coordonnées du programme
     try {
         $coordonnees = $geocoder->geocode($address);
     } catch (ChainNoResultException $e) {
         try {
             $coordonnees = $geocoder->geocode('France');
         } catch (ChainNoResultException $e) {
             return false;
         }
     }
     $info_content = '<div style="min-width:150px;text-align:center;">' . $info_bulle . '</div>';
     $info_window = new InfoWindow();
     $info_window->setAutoOpen(true);
     $info_window->setOpen(true);
     $info_window->setContent($info_content);
     $marker = new Marker();
     $marker->setPosition($coordonnees->getLatitude(), $coordonnees->getLongitude(), true);
     $marker->setAnimation('drop');
     $marker->setOption('clickable', true);
     $marker->setOption('flat', true);
     if ($info_bulle) {
         $marker->setInfoWindow($info_window);
     }
     // Création de la map
     $map = new Map();
     $map->setPrefixJavascriptVariable('map_');
     $map->setHtmlContainerId('map_canvas');
     $map->setAsync(true);
     $map->setAutoZoom(false);
     $map->setCenter($coordonnees->getLatitude(), $coordonnees->getLongitude(), true);
     $map->setMapOption('zoom', 12);
     $map->setMapOption('mapTypeId', MapTypeId::ROADMAP);
     $map->setMapOption('disableDefaultUI', false);
     $map->setMapOption('disableDoubleClickZoom', false);
     $map->setStylesheetOption('width', $width);
     $map->setStylesheetOption('height', $height);
     $map->setLanguage('fr');
     $map->addMarker($marker);
     return $map;
 }
コード例 #3
0
 /**
  * Display a listing of the resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function index()
 {
     //
     $map = new Map();
     $mapHelper = new MapHelper();
     $geocoder = new Geocoder();
     $geocoder->registerProviders(array(new GeocoderProvider(new CurlHttpAdapter())));
     $response = $geocoder->geocode('23 Lapu-lapu Street, Agdao, Davao City, Philippines 8000');
     foreach ($response->getResults() as $result) {
         $marker = new Marker();
         $marker->setPosition($result->getGeometry()->getLocation());
         $map->setCenter($result->getGeometry()->getLocation());
         $map->addMarker($marker);
     }
     $map->setStylesheetOptions(array('width' => '100%', 'height' => '300px'));
     $map->setMapOption('zoom', 15);
     $map->setAsync(true);
     $data['map'] = $mapHelper->render($map);
     return view('pages.contact.index')->with(['data' => $data]);
 }
コード例 #4
0
    public function testRenderJavascriptsWithAsync()
    {
        $map = new Map();
        $map->setJavascriptVariable('map');
        $map->setAsync(true);
        $map->getCenter()->setJavascriptVariable('map_center');
        $expected = <<<EOF
<script type="text/javascript">
function load_ivory_google_map() {
map_container = {"map":null,"coordinates":{},"bounds":{},"points":{},"sizes":{},"circles":{},"encoded_polylines":{},"ground_overlays":{},"polygons":{},"polylines":{},"rectangles":{},"info_windows":{},"marker_images":{},"marker_shapes":{},"markers":{},"marker_cluster":null,"kml_layers":{},"event_manager":{"dom_events":{},"dom_events_once":{},"events":{},"events_once":{}},"closable_info_windows":{},"functions":{"to_array":function (object) { var array = []; for (var key in object) { array.push(object[key]); } return array; }}};
map_container.coordinates.map_center = map_center = new google.maps.LatLng(0, 0, true);
map_container.map = map = new google.maps.Map(document.getElementById("map_canvas"), {"mapTypeId":google.maps.MapTypeId.ROADMAP,"zoom":3});
map.setCenter(map_center);
}
</script>
<script type="text/javascript">
function load_ivory_google_map_api () { google.load("maps", "3", {"other_params":"language=en&sensor=false","callback":load_ivory_google_map}); };
</script>
<script type="text/javascript" src="//www.google.com/jsapi?callback=load_ivory_google_map_api"></script>

EOF;
        $this->assertSame($expected, $this->mapHelper->renderJavascripts($map));
    }
コード例 #5
0
 /**
  * @expectedException \Ivory\GoogleMap\Exception\MapException
  * @expectedExceptionMessage The asynchronous load of a map must be a boolean value.
  */
 public function testAsyncWithInvalidValue()
 {
     $this->map->setAsync('foo');
 }
コード例 #6
0
 public function testRenderAfterWithAsyncMap()
 {
     $map = new Map();
     $map->setAsync(true);
     $this->assertSame('}' . PHP_EOL, $this->coreExtensionHelper->renderAfter($map));
 }
コード例 #7
0
ファイル: routes.php プロジェクト: myorb/remapent
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It is a breeze. Simply tell Lumen the URIs it should respond to
| and give it the Closure to call when that URI is requested.
|
*/
use Ivory\GoogleMap\Map;
use Ivory\GoogleMap\MapTypeId;
$app->get('/', function () use($app) {
    return $app->version();
});
$app->get('map', function () use($app) {
    $map = new Map();
    $map->setPrefixJavascriptVariable('map_');
    $map->setHtmlContainerId('map_canvas');
    $map->setAsync(false);
    $map->setAutoZoom(false);
    $map->setCenter(0, 0, true);
    $map->setMapOption('zoom', 3);
    $map->setBound(-2.1, -3.9, 2.6, 1.4, true, true);
    $map->setMapOption('mapTypeId', MapTypeId::ROADMAP);
    $map->setMapOption('mapTypeId', 'roadmap');
    $map->setMapOption('disableDefaultUI', true);
    $map->setMapOption('disableDoubleClickZoom', true);
    $map->setMapOptions(array('disableDefaultUI' => true, 'disableDoubleClickZoom' => true));
    $map->setStylesheetOption('width', '300px');
    $map->setStylesheetOption('height', '300px');
    $map->setStylesheetOptions(array('width' => '300px', 'height' => '300px'));
    $map->setLanguage('en');
});