传单边界无效
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 代码中打开的文件不在服务器上。
所以我正在尝试将传单地图上的边界拟合到所需的 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 代码中打开的文件不在服务器上。