Merge branch 'fronkdev' into 'master'

Changed Preorder map to basemap.at & added lines

See merge request fronk/thetool!234
This commit is contained in:
Frank Schubert
2024-02-09 13:21:10 +00:00
3 changed files with 126 additions and 93 deletions

View File

@@ -2,6 +2,7 @@
$pagination_baseurl = $this->getUrl($Mod,"Index");
$pagination_baseurl_params = ["filter" => $filter];
$pagination_entity_name = "Vorbestellungen";
?>
<?php include(realpath(dirname(__FILE__)."/../../$mfLayoutPackage")."/header.php"); ?>
@@ -400,18 +401,19 @@
var markers = [];
var markerState = true;
var mapCenterPos = [<?=TT_PLACEHOLDER_GPS_LAT?>, <?=TT_PLACEHOLDER_GPS_LONG?>];
var tileLayers = [];
var tilesets = ["mapbox/streets-v12", "mapbox/satellite-streets-v12"];
var currentTileset = "mapbox/streets-v12";
var tileLayers = {};
var tilesets = {
"geolandbasemap": {name: "geolandbasemap", imgtype: "png"},
"bmaporthofoto30cm": {name: "bmaporthofoto30cm", imgtype: "jpeg"}
};
var currentTileset = "geolandbasemap";
function toggleTileset() {
if(currentTileset == "mapbox/streets-v12") {
currentTileset = "mapbox/satellite-streets-v12";
if(currentTileset == "geolandbasemap") {
currentTileset = "bmaporthofoto30cm";
} else {
currentTileset = "mapbox/streets-v12";
currentTileset = "geolandbasemap";
}
console.log("renderMap");
renderMap(true);
}
@@ -437,23 +439,22 @@
}
if(!(currentTileset in tileLayers)) {
tileLayers[currentTileset] = L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
attribution: 'Map data &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
tileLayers[currentTileset] = L.tileLayer('https://mapsneu.wien.gv.at/basemap/{id}/normal/google3857/{z}/{y}/{x}.{imgtype}', {
attribution: '&copy; <a href="https://basemap.at">Basemap.at</a>',
minZoom: 6,
maxZoom: 22,
id: currentTileset,
accessToken: '<?=TT_MAPBOX_TILE_API_TOKEN?>'
maxZoom: 19,
id: tilesets[currentTileset].name,
imgtype: tilesets[currentTileset].imgtype
});
}
tileLayers[currentTileset].addTo(preorderMap);
// remove all tilesets not currently wanted
tilesets.forEach(function(t) {
if(t != currentTileset && preorderMap.hasLayer(tileLayers[t])) {
preorderMap.removeLayer(tileLayers[t]);
for(const [name, t] of Object.entries(tilesets)) {
if(name != currentTileset && preorderMap.hasLayer(tileLayers[name])) {
preorderMap.removeLayer(tileLayers[name]);
}
});
}
L.MakiMarkers.accessToken = '<?=TT_MAPBOX_TILE_API_TOKEN?>';
@@ -519,8 +520,39 @@
var icon = L.MakiMarkers.icon({icon: icon_name, color: icon_color, size: "l"});
var marker = L.marker(gps, {icon: icon}).addTo(preorderMap).bindPopup(marker_popup_content);
markers[preorder.id] = marker;
});
<?php if($me->is("Admin")): ?>
if(preorder.borderpoint_lat && preorder.borderpoint_long) {
var circle = L.circle([preorder.borderpoint_lat,preorder.borderpoint_long], {
color: 'orange',
fillColor: 'orange',
fillOpacity: 0.5,
radius: 1
}).bindTooltip(preorder.borderpoint_lat + ", " + preorder.borderpoint_long).addTo(preorderMap);
}
if(preorder.trenches) {
console.log(preorder.trenches);
preorder.trenches.forEach((trench) => {
//console.log(trench);
var trench_line = L.polyline(trench, {
color: "limegreen"
}).addTo(preorderMap);
//trench.forEach((segment) => {
//});
});
}
if(preorder.home_trench) {
var home_line = L.polyline(preorder.home_trench, {
color: "aqua"
}).addTo(preorderMap);
}
<?php endif; ?>
});
// calculate center position
mapCenterPos = GetCenterFromDegrees(all_coords);
@@ -601,5 +633,72 @@
togglePreorder(preorder_id);
$('html, body').animate( {scrollTop: $('#preorder-' + preorder_id).offset().top - 230}, 200);
}
/*
* Borderpoint map
*/
var maps = {};
function loadBorderpointMap(id) {
var lat = $("#preorder-detail-" + id + "-map").data("lat");
var long = $("#preorder-detail-" + id + "-map").data("long");
var blat = $("#preorder-detail-" + id + "-map").data("blat");
var blong = $("#preorder-detail-" + id + "-map").data("blong");
var trenches = $("#preorder-detail-" + id + "-map").data("trench");
var home_trench = $("#preorder-detail-" + id + "-map").data("home-trench");
if(!("map-" + id in maps)) {
var map = L.map('preorder-map-' + id).setView([lat, long], 19);
var tileLayer = L.tileLayer('https://mapsneu.wien.gv.at/basemap/{id}/normal/google3857/{z}/{y}/{x}.{imgtype}', {
attribution: '&copy; <a href="https://basemap.at">Basemap.at</a>',
minZoom: 12,
maxZoom: 19,
id: "bmaporthofoto30cm",
imgtype: "jpeg"
}).addTo(map);
var circle = L.circle([lat,long], {
color: 'orange',
fillColor: 'orange',
fillOpacity: 0.5,
radius: 1
}).bindTooltip(lat + ", " + long).addTo(map);
/*var circle = L.circle([blat,blong], {
color: 'black',
fillColor: 'limegreen',
fillOpacity: 0.5,
radius: 1
}).addTo(map);*/
if(trenches) {
trenches.forEach((trench) => {
//console.log(trench);
var trench_line = L.polyline(trench, {
color: "limegreen"
}).addTo(map);
//trench.forEach((segment) => {
//});
});
}
if(home_trench) {
var home_line = L.polyline(home_trench, {
color: "aqua"
}).addTo(map);
}
maps["map-" + id] = map;
setTimeout((id) => {maps["map-" + id].invalidateSize()}, 50, id);
}
}
</script>
<?php include(realpath(dirname(__FILE__)."/../../$mfLayoutPackage")."/footer.php"); ?>

View File

@@ -648,78 +648,5 @@
return false;
}
var maps = {};
function loadBorderpointMap(id) {
var lat = $("#preorder-detail-" + id + "-map").data("lat");
var long = $("#preorder-detail-" + id + "-map").data("long");
var blat = $("#preorder-detail-" + id + "-map").data("blat");
var blong = $("#preorder-detail-" + id + "-map").data("blong");
var trenches = $("#preorder-detail-" + id + "-map").data("trench");
var home_trench = $("#preorder-detail-" + id + "-map").data("home-trench");
if(!("map-" + id in maps)) {
var map = L.map('preorder-map-' + id).setView([lat, long], 20);
var tileLayer = L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
attribution: 'Map data &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
minZoom: 6,
maxZoom: 22,
id: "mapbox/satellite-streets-v12",
accessToken: '<?=TT_MAPBOX_TILE_API_TOKEN?>'
}).addTo(map);
//map.invalidateSize();
//var marker = L.marker([lat, long], {icon: icon}).addTo(preorderMap);
/*L.circleMarker([lat, long], {
color: '#FF9999'
}).addTo(map);
*/
var circle = L.circle([lat,long], {
color: 'orange',
fillColor: 'orange',
fillOpacity: 0.5,
radius: 1
}).bindTooltip(lat + ", " + long).addTo(map);
/*var circle = L.circle([blat,blong], {
color: 'black',
fillColor: 'limegreen',
fillOpacity: 0.5,
radius: 1
}).addTo(map);*/
if(trenches) {
trenches.forEach((trench) => {
//console.log(trench);
var trench_line = L.polyline(trench, {
color: "limegreen"
}).addTo(map);
//trench.forEach((segment) => {
//});
});
}
if(home_trench) {
var home_line = L.polyline(home_trench, {
color: "aqua"
}).addTo(map);
}
maps["map-" + id] = map;
setTimeout((id) => {maps["map-" + id].invalidateSize()}, 50, id);
}
}
function addMarkers(id) {
}
</script>

View File

@@ -929,6 +929,13 @@ class PreorderController extends mfBaseController {
$data->gps_lat = $preorder->adb_hausnummer->gps_lat;
$data->gps_long = $preorder->adb_hausnummer->gps_long;
if($this->me->is("Admin")) {
$data->borderpoint_lat = ($preorder->adb_hausnummer->borderpoint_lat) ? json_decode($preorder->adb_hausnummer->borderpoint_lat) : null;
$data->borderpoint_long = ($preorder->adb_hausnummer->borderpoint_long) ? json_decode($preorder->adb_hausnummer->borderpoint_long) : null;
$data->trenches = ($preorder->adb_hausnummer->trenches) ? json_decode($preorder->adb_hausnummer->trenches) : null;
$data->home_trench = ($preorder->adb_hausnummer->home_trench) ? json_decode($preorder->adb_hausnummer->home_trench) : null;
}
$data->type_label = __($data->type, "preorder");
$data->connection_type_label = __($data->connection_type, "preorder");