首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >消息:未定义的属性: stdClass::$distance Google Distance API

消息:未定义的属性: stdClass::$distance Google Distance API
EN

Stack Overflow用户
提问于 2020-05-04 12:44:23
回答 1查看 519关注 0票数 0

我尝试了几天来解决这个错误,但是我找不到解决这个错误的方法。我有一个坐标强的文本数据集,我想用这个坐标得到距离。当我运行时,它显示错误消息:未定义的属性: stdClass::$distance和消息:正在尝试获取非对象的属性'value‘

你能告诉我代码出了什么问题吗?

代码语言:javascript
复制
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;
}
EN

回答 1

Stack Overflow用户

发布于 2020-05-04 14:07:22

因为当你从google api获取内容时。找不到:你可以试试:

代码语言:javascript
复制
$distance = $data->rows[0]->elements[0]->status !== 'NOT_FOUND' ? $data->rows[0]->elements[0]->distance->value : false;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61585333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档