【问题标题】:Creating a Google Map in Laravel,在 Laravel 中创建谷歌地图,
【发布时间】:2019-04-02 04:20:07
【问题描述】:

我尝试显示显示来自数据库的地址的谷歌地图(我在 DB 表中有地址列)。为此,我制作了一个刀片,并使用控制器绑定到路由和路径。我有显示问题。

我的步骤就在下面。我使用了这个谷歌 API。

https://github.com/farhanwazir/laravelgooglemaps

并设置路线:

Route::get('/show', 'PagesController@map');

设置控制器:

public function map(){

    $config['center'] = allestates::where('address')->get();
    $config['zoom'] = '10';
    $config['map_width'] = '300px';
    $config['scrollwheel'] = false;

    GMaps::initialize($config);

    $map = GMaps::create_map();

    return view('pages.show',[ 'map' => $map]);
}

在我的刀刃上。这就是我在body标签中的称呼。

{{$map['html']}}

但收到此错误。

非静态方法 FarhanWazir\GoogleMaps\GMaps::initialize() 应该 不能被静态调用

知道问题是什么吗?

【问题讨论】:

  • return view(pages.show)->with(['map'=> $map]); 那样做,然后测试从 $map 返回的内容以用作刀片模板中的值
  • 请先检查变量是否设置了值。
  • 也用这个:return view('pages.show', ['map' => $map]);
  • @RajenderVerma 我试过了,但仍然给出 undefined var 错误
  • @TrickStar 尝试过,但仍有未定义的 $map 错误。并且数据库表中的值不为空。我有地址。

标签: php laravel laravel-5 google-maps-api-3


【解决方案1】:

此代码适用于我:

$gmap = new GMaps();
$gmap->initialize($config);

$map = $gmap->create_map();
return view('your_view', compact('map'));

注意$gmap->create_map() 不是静态调用。

【讨论】:

    【解决方案2】:

    试着这样做

    return view('pages.show',[ 'map' => $map]);
    return view(pages.show)->with(['map'=> $map]);
    

    还要检查值是否不为空

    祝你好运

    【讨论】:

    • 感谢您的回答,但仍有 $map 未定义错误。并且数据库表中的值不为空。我有地址。
    • 那么我们需要声明问题。我认为您的变量未在您的函数中设置,因此请使用以下命令进行检查: {{ isset($map) ? $地图:''}}。还使用字符串变量创建一个测试函数并检查您的视图,看看您是否有同样的问题。
    • 好的,错误已更改。伙计Non-static method FarhanWazir\GoogleMaps\GMaps::initialize() should not be called statically这就是我现在得到的。
    • 好的,尝试进行动态调用。对于 laravel,您可以输入:使用 GMaps 或使用 FarhanWazir\GoogleMaps\GMaps。或制作一个构造测试控制器。
    猜你喜欢
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-19
    • 1970-01-01
    相关资源
    最近更新 更多