0

我正在 DJ Native webBrowser 组件中使用 GoogleMap 制作应用程序。我使用 webBrowser.setHTMLContent(String) 将页面加载为字符串。HTML 文件包含向地图添加标记的 JavaScript。

我用 google-maps-api 函数制作了简单的 html 文件。它在 Chrome 和 Firefox 上完美运行。但不在 webBrowser (djnative) 中。

我发现没有新标记语句(google.maps.Marker)的脚本可以正常工作。

有人知道出了什么问题吗?有没有办法从 webBrowser 显示控制台日志(如 Chrome 中的 ctrl+shift+J)

这是脚本代码:

<script type="text/javascript" src=https://maps.googleapis.com/maps/api/js?key=[MY_KEY]&sensor=false">
    </script>
    <script type="text/javascript">
      var map;
      function initialize() {
        var mapOptions = {
          center: new google.maps.LatLng(52.236302, 21.007636),
          zoom: 10
        };
        map = new google.maps.Map(document.getElementById("map-canvas"),
            mapOptions);

        var t = [];
        var x = [];
        var y = [];
        var h = [];

        t.push('Location Name 1'); 
        x.push(52.232097);
        y.push(20.927985);
        h.push('<p><strong>Location Name 1</strong><br/>Address 1</p>');

        t.push('Location Name 2'); 
        x.push(52.245097);
        y.push(20.945985);
        h.push('<p><strong>Location Name 2</strong><br/>Address 2</p>');

        /*this is error making code*/
        var i = 0;
        for ( item in t ) {
              var marker = new google.maps.Marker({
              position: new google.maps.LatLng(x[i], y[i]),
              map: map,
              title: t[i],
          });
            i++; 
        }   /*this is end of error making code*/


    }
      google.maps.event.addDomListener(window, 'load', initialize);

    </script>
4

1 回答 1

0

1.Dj 默认使用 ie。你试过用ie打开html吗?

2.在dj中,你不能总是设置内容并期望它运行。例如,tinymce 编辑器,如果您直接设置 editor.html (html containsint tinymce),则不会运行。这就是 dj 的作者为编辑制作内部网络服务器的原因。您必须通过地址调用它(对于编辑器 ck 和 tinymce,dj 调用 localhost, http: //127.0.0.1/tinymce/ .. 但结构过于复杂,此处无法详述。您可以尝试出于测试目的,将您的 html 到一个简单的网页(tomcat)并通过 loadURL(而不是 setContent)调用它

于 2015-02-25T23:28:09.650 回答