Now getting building coordinates from Google Maps Geocoding
This commit is contained in:
53
lib/Gmaps/Geocoding.php
Normal file
53
lib/Gmaps/Geocoding.php
Normal file
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
|
||||
class Gmaps_Geocoding {
|
||||
|
||||
public static function getCoords($search) {
|
||||
$log = mfLoghandler::singleton();
|
||||
$components = [];
|
||||
|
||||
if(is_array($search)) {
|
||||
if(!$search['country'] || !$search['street'] || !$search['zip'] || !$search['city']) {
|
||||
return false;
|
||||
}
|
||||
$components = [
|
||||
'country:' . urlencode($search['country']),
|
||||
'postal_code:' . urlencode($search['zip']),
|
||||
'locality:' . urlencode($search['city']),
|
||||
];
|
||||
$address = $search['street'];
|
||||
} else {
|
||||
$address = $search;
|
||||
}
|
||||
|
||||
$address = urlencode($address);
|
||||
|
||||
$url = TT_GEOCODING_API_URL."?address=$address&key=".TT_GEOCODING_API_SECRET;
|
||||
|
||||
$cstr = "";
|
||||
if(count($components)) {
|
||||
$component_string = implode("|", $components);
|
||||
$url .= "&components=$component_string";
|
||||
}
|
||||
|
||||
$log->debug(__FILE__.": $url");
|
||||
|
||||
$resp = file_get_contents($url);
|
||||
//print_r($resp);
|
||||
if($resp) {
|
||||
$json = json_decode($resp);
|
||||
$results = $json->results;
|
||||
if(count($results) > 1) {
|
||||
$log->warn(__FILE__."> Got more then 1 result. Aborting.");
|
||||
return false;
|
||||
}
|
||||
$lat = $results[0]->geometry->location->lat;
|
||||
$long = $results[0]->geometry->location->lng;
|
||||
|
||||
return [$lat,$long];
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user