Class 'OSRef' 未找到

Class 'OSRef' not found

总的来说,我对 Laravel 和 PHP 还很陌生。

我正在尝试使用 PHPCoord 将 Northing/Easting 转换为 Lat/Lng。

我已经通过 Composer 安装了它,它出现在我的 composer.json 文件和 vendor 目录中,但我不知道如何在我的代码中引用它?

我很确定这与名称间距或缺少 autoload.php 有关,但我可能相差一百万英里。

我试过 use PHPCoord\PHPCoord;use Php-Coord\Php-Coord;,但找不到 class。

(后者好像不太喜欢连字符。)

我现在只是将示例代码放到我的 Laravel 控制器中,看看它是否工作:

$OSRef = new OSRef(500000, 200000); //Easting, Northing
$LatLng = $OSRef->toLatLng();
$GPSLatLng = $LatLng->toWGS84(); //optional, for GPS compatibility

$lat =  $LatLng->getLat();
$long = $LatLng->getLng();

dd($lat);

但是我得到了Class 'App\Http\Controllers\OSRef' not found

您必须包含 OSRef 及其命名空间。看看 this answer.

所以在你的代码中你必须在文件的开头添加这段代码。像这样:

<?php

namespace App\Http\Controlles;

use PHPCoord\OSRef;

class YourClass {

public function yourMethod() {
}
    $OSRef = new OSRef(500000, 200000); //Easting, Northing
    $LatLng = $OSRef->toLatLng();
    $GPSLatLng = $LatLng->toWGS84(); //optional, for GPS compatibility

    $lat =  $LatLng->getLat();
    $long = $LatLng->getLng();

    dd($lat);
}

在你的控制器中使用正确的class作为

use PHPCoord\OSRef;