Вызов неопределенного метода Geocoder \ Laravel \ Facades \ Geocoder :: getLatitude () - PullRequest
1 голос
/ 14 мая 2019

Ошибка вызова неопределенного метода Geocoder \ Laravel \ Facades \ Geocoder :: getLatitude () "при публикации данных в базе данных. Использование Geocode Pakage для получения данных о долготе и широте.

// Geocodeaddress.php -> Работа

public $model;

    public function __construct($model){
        $this->model = $model;
    }


    public function handle()
    {


     $result = new Geocoder();
     $result = $this->model -> getAddressString();     
     $this->model->setCoordinates($result->getLatitude(), $result->getLongitude());

    }

// RegisterController.php

protected function create(array $data)
    {
      //dd($data);
        $user =  User::create([
            'fname' => $data['fname'],
            'lname' => $data['lname'],
            'email' => $data['email'],
            'zipcode' => $data['zipcode'],
            'latitude' => $data['latitude'],
            'longitude' =>$data['longitude'],
            'city' => $data['city'],
            'state' => $data['state'],
            'password' => Hash::make($data['password']),
            'gender' => $data['gender'],      
            'dob' => $data['dob'],
            'health' => $data['health'],
        ]); 

       //$this-> dispatch(new GeocodePartnerAddress($user)); 
         $this->dispatch(new GeocodeAddress($user));
    }

1 Ответ

0 голосов
/ 14 мая 2019

Вы определяете $ result как строку с помощью $ this-> model-> getAddressString ();

Измените это:

public function handle()
{


$result = new Geocoder();
$result = $this->model -> getAddressString();     
$this->model->setCoordinates($result->getLatitude(), $result->getLongitude());

}

на следующее:

public function handle() {
    $result = new Geocoder();
    $addressString = $this->model->getAddressString();
    $this->model->setCoordinates($result->getLatitude(), $result->getLongitude());
}
...