2017-12-05 11 views
1

Laravel에서 지오 코딩에 this package을 사용하고 싶습니다. 나는 그것을 제공자에 추가하고 설정을 게시했지만, 작동하도록 설정하는 데 문제가 있습니다.Laravel 5.5 지오 코더

try { 
     $location = Geocoder::geocode('68.145.37.34')->get(); 
     return $location; 
    } catch (\Exception $e) { 
     return $e; 
    } 

빈 개체를 반환합니다.

설정 파일을 그대로 두었습니다.

return [ 
    'cache-duration' => 9999999, 
    'providers' => [ 
     Chain::class => [ 
      GoogleMaps::class => [ 
       'en-US', 
       env('GOOGLE_MAPS_API_KEY'), 
      ], 
      GeoPlugin::class => [], 
     ], 
    ], 
    'adapter' => Client::class, 
]; 

env에 유효한 API 키가 추가되었습니다. 내가 빠진 것이 있습니까? 경우 다른 사람이 같은 문제에 도달

편집

use Geocoder\Laravel\Facades\Geocoder;

지오 코더가 가져 ... 이것은 당신이 그것에서 국가를 불렀 방법은 다음과 같습니다

app('geocoder')->geocode('5.43.168.58')->get()->first()->getCountry()->getName(); 

필자의 의견으로는 불필요하게 복잡하여 공식 repo에 대한 문서 변경을 요청했습니다.

+0

가지고 당신의 다른 IP를 인식 지오 코딩 서비스 중 하나를 시도? 'FreeGeoIp :: class'처럼? –

+0

글쎄요,하지만 대안을 찾고있는 중이 아니며 단순히이 작업을 수행하는 방법을 모르겠습니다. – Norgul

답변

1

dd()을 팅커에 사용해 봤습니까 ?? 나는

이 시도 .. 그것을 시도 ... 그리고 그것은 나를 위해 작동되었습니다

dd(app('geocoder')->geocode('68.145.37.34')->get()); 

응답 :

Illuminate\Support\Collection {#764 
    items: array:1 [ 
    0 => Geocoder\Model\Address {#753 
     -coordinates: Geocoder\Model\Coordinates {#755 
     -latitude: 51.0823 
     -longitude: -113.9578 
     } 
     -bounds: null 
     -streetNumber: null 
     -streetName: null 
     -subLocality: null 
     -locality: "Calgary" 
     -postalCode: null 
     -adminLevels: Geocoder\Model\AdminLevelCollection {#767 
     -adminLevels: array:1 [ 
      1 => Geocoder\Model\AdminLevel {#768 
      -level: 1 
      -name: "Alberta" 
      -code: "AB" 
      } 
     ] 
     } 
     -country: Geocoder\Model\Country {#769 
     -name: "Canada" 
     -code: "CA" 
     } 
     -timezone: null 
     -providedBy: "geo_plugin" 
    } 
    ] 
}