Laravel:Geocoder Error在null上调用成员函数

时间:2018-05-29 21:53:18

标签: laravel laravel-5

一般信息

我正在使用this

GeocoderLaravel版本:4.0.0

Laravel版本:5.6

PHP版本:7.2.4

操作系统和版本:Windows 10

问题描述

FatalThrowableError (E_ERROR) Call to a member function getStreetNumber() on null

这可能发生1/10次。即使我使用相同的坐标。其余时间它工作正常。如果我收到错误,只需刷新/重新提交表单即可。所以不确定如何解决这个问题。

我的一个猜测是,在将对象返回Location::create()之前,它会消除$geo,但我不知道如何解决这个问题。任何帮助将不胜感激

这是我的控制器:

    $lat = request('lat');
    $lng = request('lng');
    $geo = Geocoder::reverse($lat, $lng)->get()->first();

    $location = Location::create([
        'lat'           => $lat,
        'lng'           => $lng,
        'user_id'       => Auth::user()->id,
        'streetNumber'  => $geo->getStreetNumber(),
        'streetName'    => $geo->getStreetName(),
        'cityDistrict'  => $geo->getSubLocality(),
        'city'          => $geo->getLocality(),
        'zipcode'       => $geo->getPostalCode(),
        'country'       => $geo->getCountry(),
        'timezone'      => $geo->getTimezone()
    ]);

0 个答案:

没有答案