将GoogleMap与twig变量集成 - Symfony 3

时间:2017-04-04 11:44:52

标签: google-maps symfony twig

我需要将Google地图与特定和动态坐标集成。

我不是谷歌地图的专家,我看到有一个教程here,但我有我在项目中设置的变量latitudelongitude,我想使用它在我的后台办公室时我添加了一个新位置,谷歌地图会自动放置在该位置。

在此示例中,我有一个实体Restaurant,其中包含latitudelongitude

所以我尝试了这样的事情:

<div class="{{ restaurant.name }}">
    <iframe
            src="{{ restaurant.latitude }}{{ restaurant.longitude }}"
            width="600"
            height="450"
            frameborder="0"
            style="border:0"
            allowfullscreen>
    </iframe>
</div>

我没有使用任何API或复杂的东西,我只是使用GoogleMap并复制了iframe并在其中添加了twigs

尝试后我收到错误:

`Type error: Argument 1 passed to AppBundle\Services\SlotPickerManager::createJsCommand() must be an instance of AppBundle\Entity\Restaurant, null given, called in /var/www/html/FoodAndYou_V2/src/AppBundle/Controller/RestaurantController.php on line 123`

这是我控制器中的showAction

public function showAction($slug, Request $request)
{
    $em = $this->getDoctrine()->getManager();
    $restaurant = $em->getRepository(Restaurant::class)->findOneBy(array('slug' => $slug));
    $slotPicker = $this->get('app.slot_picker_manager');

    $slot = new Slot();
    $form = $this->createForm(SlotType::class, $slot);
    $form->handleRequest($request);

    if ($form->isSubmitted() && $form->isValid()) {
        $itemCreated = $slotPicker->buySlot($slot, $restaurant, $this->getUser());
        if ($itemCreated) {
            return $this->redirectToRoute('app_basket_display_fr');
        }
    }
    $jsDisabledDays = $slotPicker->createJsCommand($restaurant);

    return $this->render('app/restaurant/restaurant.html.twig', array(
        'restaurant'        => $restaurant,
        'jsDisabledDays'    => $jsDisabledDays,
        'form'              => $form->createView()
    ));
}

所以我想知道这里有人已经整合了一个带有树枝变量的地图吗?因为我有点失落。

谢谢

0 个答案:

没有答案