mirror of
https://gitlab.com/t6353/sharee.bike.git
synced 2024-11-15 23:26:34 +01:00
104 lines
3.2 KiB
Perl
104 lines
3.2 KiB
Perl
|
package Karte;
|
||
|
#
|
||
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||
|
# Copyright (c) Rainer Gümpelein, TeilRad GmbH
|
||
|
#
|
||
|
use strict;
|
||
|
use warnings;
|
||
|
use CGI ':standard';
|
||
|
use Lib::Config;
|
||
|
use Mod::DBtank;
|
||
|
use Mod::APIfunc;
|
||
|
|
||
|
sub new {
|
||
|
my $class = shift;
|
||
|
my $self = {};
|
||
|
bless($self,$class);
|
||
|
return $self;
|
||
|
}
|
||
|
|
||
|
#Template
|
||
|
sub tpl(){
|
||
|
my $node_meta = shift;
|
||
|
my $users_dms = shift || "";
|
||
|
my $mode = shift || "";
|
||
|
my $varenv = shift;
|
||
|
my $users_sharee = shift || { c_id => 0 };
|
||
|
my $return = shift || "";
|
||
|
|
||
|
my $q = new CGI;
|
||
|
my $cf = new Config;
|
||
|
my $dbt = new DBtank;
|
||
|
my $apif = new APIfunc;
|
||
|
|
||
|
my $api_file = "/var/www/copri4/shareeconf/apikeys.cfg";
|
||
|
my $aconf = Config::General->new($api_file);
|
||
|
my %apikeyconf = $aconf->getall;
|
||
|
#print $apikeyconf{googlemap}->{google_key};
|
||
|
|
||
|
my $initMap = $dbt->{website}->{$varenv->{syshost}}->{initMap};
|
||
|
$initMap = $dbt->{operator}->{$varenv->{dbname}}->{initMap} if($dbt->{operator}->{$varenv->{dbname}}->{initMap});
|
||
|
$initMap = $dbt->{primary}->{$varenv->{dbname}}->{initMap} if($dbt->{primary}->{$varenv->{dbname}}->{initMap});
|
||
|
$initMap =~ s/\s//g;
|
||
|
my ($lat,$lng) = split(/,/,$initMap);
|
||
|
|
||
|
my $api_return = { authcookie => '' };
|
||
|
my $coo = $q->cookie(-name=>'domcookie') || $R::sessionid;
|
||
|
($api_return,$users_sharee) = $apif->auth_verify($q,$coo,"");
|
||
|
|
||
|
require "Mod/KMLout.pm";
|
||
|
my $kmlfile = Mod::KMLout::kmlGenerator($api_return,$varenv,$users_sharee);
|
||
|
|
||
|
print "<div style='background-color:#cccccc;width:100%;margin-top:40px;'>\n";
|
||
|
|
||
|
print "<div id='map' style='height:600px;'></div>\n";
|
||
|
|
||
|
print<<EOF
|
||
|
<script>
|
||
|
|
||
|
function initMap() {
|
||
|
var map = new google.maps.Map(document.getElementById('map'), {
|
||
|
scrollwheel: false,
|
||
|
draggable: !("ontouchend" in document),
|
||
|
center: {lat: $lat, lng: $lng},
|
||
|
zoom: 8
|
||
|
});
|
||
|
|
||
|
var ctaLayer = new google.maps.KmlLayer({
|
||
|
position: map.getCenter(),
|
||
|
//preserveViewport: true,
|
||
|
//url: '$dbt->{primary}->{sharee_primary}->{primaryApp}/KMLout?kml=' + (new Date()).getTime() + '$users_sharee->{c_id}',
|
||
|
//url: '$varenv->{metahost}/xml/KMLout-3',
|
||
|
//url: '$varenv->{wwwhost}/?kml=' + (new Date()).getTime(),
|
||
|
url: '$varenv->{metahost}/xml/$kmlfile',
|
||
|
map: map
|
||
|
});
|
||
|
console.log('$varenv->{metahost}/xml/$kmlfile');
|
||
|
|
||
|
};
|
||
|
|
||
|
|
||
|
</script>
|
||
|
<script async defer
|
||
|
src="https://maps.googleapis.com/maps/api/js?key=$apikeyconf{googlemap}->{google_key}&callback=initMap">
|
||
|
</script>
|
||
|
EOF
|
||
|
;
|
||
|
|
||
|
print "</div>\n";
|
||
|
|
||
|
print $q->div({-class=>"content2_legende", -style=>'font-weight:bold;'}, "• Ist ein Lastenrad an einer Mietradstation verfügbar?"),"\n";
|
||
|
print $q->div({-class=>"content2_legende"}, $q->img({-style=>'height:30px;', -src=>"$varenv->{metahost}/img/Open_Green.png"}), "Lastenrad verfügbar"),"\n";
|
||
|
print $q->div({-class=>"content2_legende"}, $q->img({-style=>'height:30px;', -src=>"$varenv->{metahost}/img/Open_Red.png"}), "Lastenrad nicht verfügbar"),"\n";
|
||
|
|
||
|
#print "$varenv->{syshost}/$varenv->{dbname} --> $dbt->{operator}->{$varenv->{dbname}}->{initMap}";
|
||
|
#if($R::ask_radID && $R::ask_radID =~ /^\d+$/){
|
||
|
# require "Tpl/ModalboxDialog.pm";
|
||
|
# &ModalboxDialog::mobox2($tpl_name,$tpl_id,$parent_id,$main_id,$u_id,$u_group,$lang,$users_sharee,$bg_color1,$bg_color2,$R::ask_radID);
|
||
|
# }
|
||
|
#
|
||
|
|
||
|
}
|
||
|
1;
|
||
|
|