<%@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 sql = "";
  var fg_remote_maps = S("ins_fg_remote_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_omschrijving 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;
    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>
    <style type="text/css">
      html, body { height: 100%; margin: 0; padding: 0; }
      geenhekjeaanbeginregel,#map { height: 100%; }
    </style>
    <script type="text/javascript" async defer
            src='//maps.googleapis.com/maps/api/js?key=<%=safe.htmlattr(fg_remote_maps)%>&callback=initMap'>
    </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)%>"
            });
            var marker = new google.maps.Marker({
                position: coord,
                map: map,
                title: '<%=safe.jsstring(oms)%>'
              });
              marker.addListener('click', function() {
                infowindow.open(map, marker);
              });
          }
        }
        else
        {
          alert(L("lcl_fg_nomaps"));
          window.close();
        }
      }
      else
      {
        // Kan eigenlijk niet voorkomen
        window.close();
      }
    }
    </script>
  </head>
  <body style="margin:0">
    <div id="map"></div>
  </body>
</html>
