我尝试了几天来解决这个错误,但是我找不到解决这个错误的方法。我有一个坐标强的文本数据集,我想用这个坐标得到距离。当我运行时,它显示错误消息:未定义的属性: stdClass::$distance和消息:正在尝试获取非对象的属性'value‘
你能告诉我代码出了什么问题吗?
public function inisialisasiPopulasi()
{
$ObjekWisata = $this->generateKromosom();
$populasi = array(
array(
"gen1" => array("namalokasi" => "Lokasi Awal", "Kabupaten" => "Kabupaten awal", "longitude" => 0, "latitude" => 0),
"gen2" => array("namalokasi" => "Destinasi 1", "Kabupaten" => "Kabupaten Destinasi 1", "Kategori" => 0, "latitude" => 0, "longitude" => 0, "harga_seninJumat" => 0, "harga_sabtuMinggu" => 0),
"gen3" => array("namalokasi" => "Destinasi2", "Kabupaten" => "Kabupaten Destinasi 2", "Kategori" => 0, "latitude" => 0, "longitude" => 0, "harga_seninJumat" => 0, "harga_sabtuMinggu" => 0),
"gen4" => array("namalokasi" => "Lokasi Awal", "Kabupaten" => "Kabupaten awal", "longitude" => 0, "latitude" => 0)
)
);
for ($i = 1; $i < 500; $i++) {
shuffle($ObjekWisata); // baris ini untuk merandom objek wisata
$kromosom = array(array(
"gen1" => array("namalokasi" => "Lokasi Awal", "Kabupaten" => "Kabupaten awal", "longitude" => 0, "latitude" => 0),
"gen2" => array("namalokasi" => $ObjekWisata[0][1], "Kabupaten" => $ObjekWisata[0][2], "Kategori" => $ObjekWisata[0][3], "latitude" => $ObjekWisata[0][4], "longitude" => $ObjekWisata[0][5], "harga_seninJumat" => $ObjekWisata[0][6], "harga_sabtuMinggu" => $ObjekWisata[0][7]),
"gen3" => array("namalokasi" => $ObjekWisata[1][1], "Kabupaten" => $ObjekWisata[1][2], "Kategori" => $ObjekWisata[1][3], "latitude" => $ObjekWisata[1][4], "longitude" => $ObjekWisata[1][5], "harga_seninJumat" => $ObjekWisata[1][6], "harga_sabtuMinggu" => $ObjekWisata[1][7]),
"gen4" => array("namalokasi" => "Lokasi Awal", "Kabupaten" => "Kabupaten awal", "longitude" => 0, "latitude" => 0),
"jarak" => array("K1K2" => $this->jarak(doubleval($ObjekWisata[0][4]), doubleval($ObjekWisata[0][5]), doubleval($ObjekWisata[1][4]), doubleval($ObjekWisata[1][5])))
));
$populasi = array_merge($populasi, $kromosom);
}
return $populasi;
}
public function jarak($latFrom, $lngFrom, $latTo, $lngTo)
{
$dataJson = file_get_contents("https://maps.googleapis.com/maps/api/distancematrix/json?origins=" . $latFrom . "," . $lngFrom . "&destinations=" . $latTo . "," . $lngTo . "&mode=driving&language=pl-PL&key=AIzaSyDN1XxxneHyCz6PtbQlGfqHSm13RH16Pvc");
$data = json_decode($dataJson);
$distance = $data->rows[0]->elements[0]->distance->value;
return $distance;
}发布于 2020-05-04 14:07:22
因为当你从google api获取内容时。找不到:你可以试试:
$distance = $data->rows[0]->elements[0]->status !== 'NOT_FOUND' ? $data->rows[0]->elements[0]->distance->value : false;https://stackoverflow.com/questions/61585333
复制相似问题