Php 插入N个城市并获取起点到终点的距离值
大家好,你能给我一些建议吗 我在城市间的距离上有些困难 示例:我给出1个paramater(paramater是txt中的城市名称) 如果我像这样插入城市 “巴厘-雅加达-乔加-三宝垄-独奏” 我可以计算从巴厘岛+雅加达+乔加+三宝垄+索洛的距离 范例Php 插入N个城市并获取起点到终点的距离值,php,google-maps-api-3,Php,Google Maps Api 3,大家好,你能给我一些建议吗 我在城市间的距离上有些困难 示例:我给出1个paramater(paramater是txt中的城市名称) 如果我像这样插入城市 “巴厘-雅加达-乔加-三宝垄-独奏” 我可以计算从巴厘岛+雅加达+乔加+三宝垄+索洛的距离 范例 巴厘-->雅加达=480公里 雅加达-->Jogja=1202公里 Jogja-->三宝垄=432公里 三宝垄-->单飞=202公里 所以我希望返回值是4个城市的和,并显示起点到终点的距离:2316公里 我得到了与json的距离google ma
public function addJarak1($kota)
{
$kota1=$kota;
$kota2=$kota;
foreach ($kota1 as $key1 => $value1)
{
foreach ($kota2 as $key2 => $value2)
{
$berangkat = urlencode($value1);
$tujuankota = urlencode($value2);
$data = file_get_contents("http://maps.googleapis.com/maps/api/distancematrix/json?origins=$berangkat&destinations=$tujuankota&language=id&units=metric&sensor=true");
$data = json_decode($data);
// echo "<pre>". print_r($data ,true) ."</pre>";
$jarak = 0;
foreach ($data->rows[0]->elements as $road)
{
$jarak += $road->distance->text;
}
$this->simpanjarak1=$jarak;
//echo "Berangkat: " . $data->origin_addresses[0]+"<br \>Tujuan : " . $data->destination_addresses[0]+"<br \>Jarak: " . $jarak . " KM<br \><br \>";
return $this->simpanjarak1;
}
}
}
public function hitungKM ($kota)
{
$this->addJarak1($kota);
$jarak = $this->simpanjarak1;
if ($jarak != 0 )
{
{
$jarak ;
}
if($jarak == 1)
{
$jarak = 0;
}
}
else
{
$jarak=0;
}
$x= $jarak;
$x += $jarak;
echo $jarak;
return $jarak;
}
$kota= Bali + Jakarta + Jogja + Semarang + Solo
$algo->hitungKM($kota);
公共函数addJarak1($kota)
{
$kota1=$kota;
$kota2=$kota;
foreach($kota1作为$key1=>$value1)
{
foreach($kota2作为$key2=>$value2)
{
$berangkat=urlencode($value1);
$tujuankota=urlencode($value2);
$data=文件\u获取\u内容(“http://maps.googleapis.com/maps/api/distancematrix/json?origins=$berangkat&destinations=$tujuankota&language=id&units=metric&sensor=true“;
$data=json_decode($data);
//回显“.print_r($data,true)”;
print calculate_distance_between_two_uk_cities('birmingham', 'sheffield');
function calculate_distance_between_two_uk_cities($origin, $destination)
{
$google_matrix_url = 'http://maps.googleapis.com/maps/api/distancematrix/json?origins='
. urlencode($origin) . ',UK'
. '&destinations='
. urlencode($destination) . ',UK'
. '&language=en&units=imperial';
$json = file_get_contents($google_matrix_url);
var_dump($json);
if($json === false) {
throw new Exception('Failed to retrieve response.');
}
$result = json_decode($json, TRUE);
if($result === null) {
throw new Exception('Could not decode JSON response.');
}
if(! isset($result['rows'][0]['elements'][0]['distance']['text'])) {
throw new Exception('Could not retrieve distance from remote service.');
}
$distance = $result['rows'][0]['elements'][0]['distance']['text'];
$distance = intval($distance);
return $distance;
}
$jarak=0;
foreach($data->rows[0]->元素为$road)
{
$jarak+=$road->distance->text;
}
$this->simpanjarak1=$jarak;
//echo“Berangkat:.$data->origin_addresses[0]+”
Tujuan:.$data->destination_addresses[0]+“
Jarak:.$Jarak.KM
”;
返回$this->simpanjarak1;
}
}
}
公共功能hitungKM($kota)
{
$this->addJarak1($kota);
$jarak=$this->simpanjarak1;
如果($jarak!=0)
{
{
$jarak;
}
如果($jarak==1)
{
$jarak=0;
}
}
其他的
{
$jarak=0;
}
$x=$jarak;
$x+=$jarak;
echo$jarak;
返回$jarak;
}
$kota=巴厘岛+雅加达+乔加+三宝垄+独奏
$algo->hitungKM($kota);
所以如果返回值是2316公里
谁能给我一些建议吗?
谢谢你
抱歉英语不好:)也许这会有帮助: 我将英国后缀添加到了起点和终点,否则像“伯明翰”这样的查找将失败