从控制器象牙地图Laravel返回$ MAP变量



我试图在laravel中的视图上查看Google-ap。使用Google API,我使用ivory-google-map https://github.com/egeloen/ivory-google-map/blob/master/master/doc/map/map.md

我设法在控制器中渲染了地图。我需要的是将其返回到视图中,并使用其他一些数据。这是我的控制器。

公共功能创建() {

    $map = new Map();
    $map->setAutoZoom(false);
    $map->setCenter(new Coordinate(7.322723, 79.988258));
    $map->setMapOption('zoom', 10);
    $map->setAutoZoom(false);
    $map->setStylesheetOption('width', 600);
    $map->setStylesheetOption('height', 600);
    $map->setStylesheetOption('position', 'absolute');

    $map->setBound(new Bound(new Coordinate(7, 70), new Coordinate(7.3235001, 79.988258)));
    $map->getOverlayManager()->addMarker(new Marker(new Coordinate(7.322723, 79.988258)));
    $scaleControl = new ScaleControl(
        ControlPosition::BOTTOM_RIGHT,
        ScaleControlStyle::DEFAULT_
    );

    $map->getControlManager()->setScaleControl($scaleControl);
    $mapHelper = MapHelperBuilder::create()->build();
    $apiHelper = ApiHelperBuilder::create()
        ->setKey('AIzaSyA7pPqtVUC-JWLM89E7Rko')
        ->build();
    $map->setHtmlId('map_canvas2');

   echo $apiHelper->render([$map]);
   echo  $apiHelper->render([$map]);

    $materials = Material::pluck('mat_name','mat_price');
    return view('order.create', compact('materials');
}

地图出现在视图中,以及数据 - 材料。我尝试使用

   return view('order.create', compact('materials')->with('maps',$map);

但仍然没有运气。

我需要在单独的div上出现这张地图,而不是浏览器的顶部。

都会影响我的其他样式。

无论如何我可以做到这一点。这是我的观点,

    <div class="row">
    <div class="col-md-6 col-md-offset-1 margin-tb align-center">
        <div class="pull-left">
            <h2>Place New Oder</h2>
        </div>
        <div class="pull-right">
            <a class="btn btn-primary" href="{{ route('order.index') }}"> Back</a>
        </div>
    </div>
    <div class="col-md-5  margin-tb align-center">
    <div id="map_canvas2">
    </div>
    </div>
    </div>

我希望它出现在#map_canvas2.2.有人建议答案

从控制器中删除两个echo

尝试将$apiHelper传递到您的视图,然后:

<div id="map_canvas2">
    {{ $apiHelper->render([$maps]) }}
</div>

我找到了答案,我寄给了Apihelper,Maphelper到视图,然后回声,它有效,

 return view('order.create', compact('materials'))
     ->with('apiHelper',$apiHelper)
     ->with('map',$map)
     ->with('mapHelper',$mapHelper);

感谢@camilo的帮助!

最新更新