javascript - 当标记之一为空经度和纬度时,传单地图不显示所有标记
问题描述
我最近从学校接到一个任务,我使用传单制作了一个简单的地图,但是我有一个问题,我的地图上的标记没有显示,当其中一个标记在数据库中的经度和纬度上为空时,我想要我地图上的另一个标记仍然有效,即使其中一个标记的经度和纬度为空:) 这是我的一些代码:
while($row = mysqli_fetch_assoc($data)) {
if($row['latitude'] == 0 ){
// what should i do here, ????
// var_dump('place_name');
}else{
// add marker to map
$marker .= 'var marker = L.circle(['.$row['latitude'].', '.$row['longitude'].'],
{
color: "red",
fillColor: "#f03",
fillOpacity: 0.5,
radius: 2000
}
).addTo(map).bindPopup("'.$row['place_name'].'").openPopup().on("mouseover", function (e) {
this.openPopup();
}).on("mouseout", function (e) {
this.closePopup();
});
;
';
}
}
有人可以给我一些建议来解决这个问题吗?谢谢阅读:)
解决方案
你可以尝试这样的事情来跳过空纬度和经度:
while ($row = mysqli_fetch_assoc($data)) {
$latitude = (float)$row['latitude'];
$longitude = (float)$row['longitude'];
if ($latitude === 0 && $longitude === 0) {
continue;
// what should i do here, ????
// var_dump('place_name');
}
// add marker to map
$marker .= sprintf('var marker = L.circle([ %s, %s],
{
color: "red",
fillColor: "#f03",
fillOpacity: 0.5,
radius: 2000
}
).addTo(map).bindPopup("%s").openPopup().on("mouseover", function (e) {
this.openPopup();
}).on("mouseout", function (e) {
this.closePopup();
});
;
', $latitude, $longitude, $row['place_name']);
}
:)
推荐阅读
- javascript - 滚动和窗口大小随着图像显示像素的变化而变化(php,js)
- arrays - 如何从 JSON 对象数组中删除具有特定键/值对的所有 JSON 对象?
- fabricjs - Fabric.js / 移动设备上的文本编辑
- ios - 如何在 Swift 中一次显示 UILabel 一行
- google-sheets-formula - Google 表格 - 如何简化这种重复比较
- functional-programming - 如何编写一个函数,在每次迭代时将可变数量的元素附加到惰性列表中?
- javascript - JSDOM 脚本元素在 Mocha 中被覆盖
- c - 我想改变字符串的输出值
- testing - 我们可以在 testcafe 中编写具有 Next JS API 的应用程序的 e2e 测试吗?
- c - 标准 C 中的 MPI 发送/接收字符串数组