需要帮助整合谷歌地图的WEBFOCUS 8

Need Help Integrating Google Maps to WEBFOCUS 8

本文关键字:WEBFOCUS 谷歌地图 帮助      更新时间:2023-09-26

你好,目前我正在尝试集成自定义谷歌地图层到我的Webfocus8驱动的业务应用程序。我已经写了Javascript/HTML5代码,但我不知道把它放在应用程序的哪里。

这里的代码,如果有人需要它。

<html>
<head>
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
    <script type="text/javascript">
        var layers=[];
        layers[0] = new  google.maps.KmlLayer('http://www.hpc.ncep.noaa.gov/kml/fop/fopbody.kml',
                {preserveViewport: true});
        layers[1] = new google.maps.KmlLayer('http://www.nhc.noaa.gov/gis/forecast/archive/latest_wsp34knt120hr_tenthDeg.kmz',
                {preserveViewport: true});
        layers[2] = new google.maps.KmlLayer('http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_month_depth_link.kml',
                {preserveViewport: true});
        var map;
        function initialize() {
            var latlng = new google.maps.LatLng(40.744771, -73.3171305);
            var myOptions = {
                zoom: 10,
                center: latlng,
                mapTypeIds: google.maps.MapTypeId.ROADMAP
            }
            map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);
        }
        function toggleLayers(i)
        {
            if(layers[i].getMap()==null) {
                layers[i].setMap(map);
            }
            else {
                layers[i].setMap(null);
            }
            document.getElementById('status').innerHTML += "toggleLayers("+i+") [setMap("+layers[i].getMap()+"] returns status: "+layers[i].getStatus()+"<br>";
        }

    </script>
</head>
<body onload="initialize()">
  Flood <input type="checkbox" id="layer_01" onclick="toggleLayers(0);"/>
  Hurricane<input type="checkbox" id="layer_02" onclick="toggleLayers(1);"/>
   Earthquake<input type="checkbox" id="layer_03" onclick="toggleLayers(2);"/>
  <div id="map_canvas" style="height:800px; width:800px;"></div>
  <div id="status"></div>
  </body>
  </html>

我不熟悉WF8语法,但在早期版本中,您可以使用HTMLFORM

-HTMLFORM BEGIN
<HTML></HTML>
-HTMLFORM END

你可以尝试使用-HTMLFORM,但从我迄今为止使用WF8+学到的,它将不允许编辑HTML在某些情况下,由于自动生成的代码(HTML Composer特定)不适合自定义代码。您可以查看ESRI集成

我在我们的WebFOCUS 8代码中使用谷歌地图API,只要你在FEX中使用-HTMLFORM BEGIN/END,它就可以正常工作。我尽量不使用composer/App Studio,因为他们编写了大量内部代码,这是不必要的。关于ESRI,这是基本的,除非你愿意为此付出很多。