public function getCoords($str) { if (!is_array($str)) { $_address = preg_replace('/\\s+/', '+', $str); $_address = urlencode($_address); } else { $address = array(); $address[] = $str['d_zip']; $address[] = $str['d_address_1']; $address[] = $str['d_city']; $address[] = $str['d_state']; foreach ($address as $k => $v) { $tmp = preg_replace('/\\s+/', '+', $v); $address[$k] = $tmp; } $_address = join(",+", $address); } $api = sprintf("https://maps.googleapis.com/maps/api/geocode/json?address=%s&sensor=false", $_address); $pjHttp = new pjHttp(); $pjHttp->request($api); $response = $pjHttp->getResponse(); $geoObj = pjAppController::jsonDecode($response); $data = array(); if ($geoObj->status == 'OK') { $data['lat'] = $geoObj->results[0]->geometry->location->lat; $data['lng'] = $geoObj->results[0]->geometry->location->lng; } else { $data['lat'] = array('NULL'); $data['lng'] = array('NULL'); } return $data; }