153 lines
4.4 KiB
Plaintext
153 lines
4.4 KiB
Plaintext
<%@language = "javascript" %>
|
|
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: ShowGoogleMap.asp
|
|
Description: Toon een object in een Google Map
|
|
Parameters:
|
|
obj_key Toon maps/positie van dit object
|
|
Context:
|
|
Note: Zorg dat je een passende Google Maps API key aanvraagt
|
|
Veronderstelt dat bij het object Lat Lon coordinaten
|
|
zijn ingesteld.
|
|
*/
|
|
%>
|
|
<!-- #include file="../Shared/common.inc" -->
|
|
<!-- #include file="../CAD/FGII.inc" -->
|
|
<!-- #include file="../SlnkDWF/Slnk2IMG.inc" -->
|
|
|
|
<%
|
|
var obj_key = getQParamInt("obj_key", -1);
|
|
var loc_key = getQParamInt("loc_key", -1);
|
|
var bld_key = getQParamInt("bld_key", -1);
|
|
var streetview = getQParamInt("streetview", 1);
|
|
var sql = "";
|
|
var fg_remote_maps = S("ins_fg_remote_maps");
|
|
var title = L("lcl_maps");
|
|
|
|
// sql heeft in ieder geval een geldige query, ongeacht de params
|
|
sql = "SELECT ins_deel_x rdX, ins_deel_y rdY, ins_deel_omschrijving oms"
|
|
+ " FROM ins_deel"
|
|
+ " WHERE ins_deel_key = " + obj_key;
|
|
|
|
if (loc_key > -1)
|
|
{
|
|
sql = "SELECT alg_locatie_x rdX, alg_locatie_y rdY, alg_locatie_omschrijving oms"
|
|
+ " FROM alg_locatie"
|
|
+ " WHERE alg_locatie_key = " + loc_key;
|
|
var fg_remote_maps = S("alg_fg_remote_maps");
|
|
}
|
|
|
|
if (bld_key > -1)
|
|
{
|
|
sql = "SELECT alg_gebouw_x rdX, alg_gebouw_y rdY, alg_gebouw_naam oms"
|
|
+ " FROM alg_gebouw"
|
|
+ " WHERE alg_gebouw_key = " + bld_key;
|
|
var fg_remote_maps = S("alg_fg_remote_maps");
|
|
}
|
|
|
|
__Log("obj_key=" + obj_key + "| loc_key=" + loc_key + "| bld_key=" + bld_key);
|
|
var validKey = 1; // 1=yes
|
|
var validXY = 1; // 1=yes
|
|
var oRs = Oracle.Execute(sql);
|
|
if (!oRs.eof)
|
|
{
|
|
var rdX = oRs("rdX").value;
|
|
var rdY = oRs("rdY").value;
|
|
var oms = oRs("oms").value;
|
|
title += ' ' + oms;
|
|
if ((rdX == null) || (rdY == null))
|
|
{
|
|
validXY = 0;
|
|
var rdX = 0;
|
|
var rdY = 0;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
validKey = 0;
|
|
var rdX = 0;
|
|
var rdY = 0;
|
|
}
|
|
|
|
|
|
__Log("rdX=" + rdX + " rdY=" + rdY);
|
|
%>
|
|
<html>
|
|
<head>
|
|
<title><%=safe.html(title)%></title>
|
|
<style type="text/css">
|
|
html, body { height: 100%; margin: 0; padding: 0;}
|
|
<% if (streetview) { %>
|
|
geenhekjeaanbeginregel, #map, #pano { float: left; height: 100%; width: 50%; }
|
|
<% } else { %>
|
|
geenhekjeaanbeginregel, #map { float: left; height: 100%; width: 100%; }
|
|
<% }
|
|
var gapisrc = "//maps.googleapis.com/maps/api/js?key=" + safe.htmlattr(fg_remote_maps) + "&callback=initMap";
|
|
%>
|
|
</style>
|
|
<script type="text/javascript" async defer
|
|
src='<%=gapisrc%>'>
|
|
</script>
|
|
<script>
|
|
function initMap()
|
|
{
|
|
if (<%=validKey%> == 1)
|
|
{
|
|
if (<%=validXY%> == 1)
|
|
{
|
|
if (1||GBrowserIsCompatible())
|
|
{
|
|
var coord = {lat: <%=safe.jsfloat(rdX)%>, lng: <%=safe.jsfloat(rdY)%> };
|
|
var map = new google.maps.Map(document.getElementById("map"),
|
|
{
|
|
center: coord,
|
|
zoom: 17,
|
|
xmapTypeId: google.maps.MapTypeId.HYBRID
|
|
});
|
|
var infowindow = new google.maps.InfoWindow({
|
|
content: "<%=safe.jsstring(oms)%>"
|
|
});
|
|
if (<%=streetview%>)
|
|
{
|
|
var panorama = new google.maps.StreetViewPanorama(
|
|
document.getElementById('pano'), {
|
|
position: coord,
|
|
pov: {
|
|
pitch: 10
|
|
}
|
|
});
|
|
map.setStreetView(panorama);
|
|
}
|
|
var marker = new google.maps.Marker({
|
|
position: coord,
|
|
map: map,
|
|
title: '<%=safe.jsstring(oms)%>'
|
|
});
|
|
marker.addListener('click', function() {
|
|
infowindow.open(map, marker);
|
|
});
|
|
}
|
|
}
|
|
else
|
|
{
|
|
FcltMgr.alert(L("lcl_fg_nomaps"));
|
|
window.close();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// Kan eigenlijk niet voorkomen
|
|
window.close();
|
|
}
|
|
}
|
|
</script>
|
|
</head>
|
|
<body id="googleMap" style="margin:0">
|
|
<div id="map"></div>
|
|
<div id="pano"></div>
|
|
</body>
|
|
</html>
|
|
<% ASPPAGE_END(); %>
|