未找到类'GeocoderProviderOpenCageOpenCage'



我正在尝试将我的长度和lat从HTML 5的位置请求转换为可读的地址。我正在尝试为此使用Opencage地理编码,但它一直给出NEX错误:

类'Geocoder Provider Opencage Opencage'找不到

这是我的代码,就像文档所说的

一样
<?php
require "vendor/autoload.php";
use HttpAdapterGuzzle6Client as GuzzleAdapter;
use GeocoderQueryGeocodeQuery;
use GeocoderQueryReverseQuery;
$adapter  = new GuzzleAdapter();
$provider = new GeocoderProviderOpenCageOpenCage($adapter, 'APIKEY');
$geocoder = new GeocoderStatefulGeocoder($provider, 'en');
$results = $geocoder->geocodeQuery(GeocodeQuery::create('1 Hacker Way, Menlo Park, 94025'));
# print_r($results);
$coords = $results->first()->getCoordinates();
echo json_encode([ 'lat' => $coords->getLatitude(), 'lon' => $coords->getLongitude() ]) . "n";
?>

从您链接到的文档中:

有两个可以使用

的PHP库

您已经安装了一个并使用了另一个示例代码。因此,要么运行此命令:

composer require willdurand/geocoder

并继续使用上面的代码。

或,用这样的东西替换代码:

$geocoder = new OpenCageGeocoderGeocoder('YOUR-API-KEY');
$result = $geocoder->geocode('1 Hacker Way, Menlo Park, 94025');
if ($result && $result['total_results'] > 0) {
    $first = $result['results'][0];
    echo json_encode([
        'lat' => $first['geometry']['lat'],
        'lon' => $first['geometry']['lng'],
    ]);
}

相关内容

  • 没有找到相关文章

最新更新