传单边界无效

Leaflet Bounds are not valid

所以我正在尝试将传单地图上的边界拟合到所需的 geoJson 功能。首先,我从导航器 getCurrentPosition() 方法中 return 获取纬度和经度,以使用反向地理编码并获取国家/地区名称。其次,国家名称用于从我服务器上的 geoJson 文件中提取 geoJson 特征。然后 returned 功能用于绘制多边形和 fitBounds 并且在 apache 上一切正常。当我将代码上传到我的托管服务时,我收到一条错误消息,指出边界无效。我尝试了几种方法都没有成功。

知道我做错了什么吗?与托管服务有关吗?

// get current position

navigator.geolocation.getCurrentPosition(position => {
    let lat = position.coords.latitude;
    let lng = position.coords.longitude
   
    L.marker([lat, lng]).addTo(mymap);
// get current country
    $.post('php/reverseGeo.php', {
        lat: lat,
        lng: lng
    }, response => {
        let name = JSON.parse(response)
        let country = name['address']['country']
        $.post('php/countryList.php', {
            countryName: country
        }, result => {
            let decoded = JSON.parse(result)
            let border = L.geoJSON(decoded).addTo(mymap)

            console.log(border.getBounds())
            mymap.fitBounds(border.getBounds())
            $('#element1').slideDown()
            ...

当我将 border.getBounds() 记录到控制台时,它 return 什么也没有。在 apache 上它 return 正确的对象。

PHP例程过滤特定特征:

<?php

$content = file_get_contents('../vendors/countries/countries_large.geo.json');

$decoded = json_decode($content, true);

$info = '';

$name = $_REQUEST['countryName'];

foreach ($decoded['features'] as $feature) {
    if ($feature['properties']['ADMIN'] == $name) {
        $info = $feature;
    break;
    } else {
        $info = 'Not supported';
    }
}

echo json_encode($info);

在开发人员工具的网络选项卡中检查请求的响应后,问题是在 php 代码中打开的文件不在服务器上。