2016-05-05 3 views
1

Я установил пакет geocoder-php/GeocoderLaravel и настроил его в соответствии с документацией. Затем я проверил небольшое тестирование в функции контроллера, и он отправился в Google, разрешил адрес и успешно вернул объект геокода, но он защищен, и я не могу получить к нему доступ. Что с этим?Как получить доступ к защищенному объекту, возвращенному geocoder-php/GeocoderLaravel?

Код:

$geocode = Geocoder::geocode('9900 Sowder Village Square, Manassas, VA 20109'); 
var_dump($geocode); 

Выход:

object(Geocoder\Result\Geocoded)#189 (15) { 
    ["latitude":protected]=> float(38.7392838) 
    ["longitude":protected]=> float(-77.5348982) 
    ["bounds":protected]=> array(4) { 
     ["south"]=> float(38.7392838) 
     ["west"]=> float(-77.5348982) 
     ["north"]=> float(38.7392838) 
     ["east"]=> float(-77.5348982) 
    } 
    ["streetNumber":protected]=> string(4) "9900" 
    ["streetName":protected]=> string(21) "Sowder Village Square"  
    ["cityDistrict":protected]=> NULL 
    ["city":protected]=> string(8) "Manassas" 
    ["zipcode":protected]=> string(5) "20109" 
    ["county":protected]=> string(21) "Prince William County"  
    ["countyCode":protected]=> string(21) "PRINCE WILLIAM COUNTY" 
    ["region":protected]=> string(8) "Virginia" 
    ["regionCode":protected]=> string(2) "VA" 
    ["country":protected]=> string(13) "United States" 
    ["countryCode":protected]=> string(2) "US" 
    ["timezone":protected]=> NULL 
} 

Я искал в интернете и нашел материал о рефлексии, но я думаю, это не может быть так сложно. Документация парня на gitHub отстой. Любые указания?

Спасибо, что нашли время.

Джош

ответ

1

Свойство защищен, потому что API не хочет, чтобы вы на ощупь свойства напрямую; они хотят использовать геттеры и сеттеры.

http://geocoder-php.org/Geocoder/

getCoordinates() возвращает координаты объекта (с широтой и долготой свойствами);

Это то, что вы хотите.

+0

Прохладный, спасибо. Я видел это раньше, но пытался назвать это неправильно. Его: $ geocode = Geocoder :: geocode ('9900 Sowder Village Square, Manassas, VA 20109') -> getCoordinates(); Duh. Большое спасибо. –

Смежные вопросы