2

私のプロジェクトには2つのクラスがあります。1 つは、コードのすべての関数を含む Test という名前のメイン クラスです。また、複数の Array リストが定義されています。そのうちの 2 つを使用し、JXBrowser ライブラリを使用して JavaScript に値を入れたいと考えています。私がコメントを追加した場所を見てください。基本的に、私がやろうとしているのは、JXBrowser ライブラリによって JavaScript を使用して Java クラスで Google マップを使用し、メイン クラスから経度と緯度を取得して JavaScript コード内に追加することで複数のマーカーを追加することです。

final Browser browser = new Browser();
    BrowserView browserView = new BrowserView(browser);


    JFrame frame = new JFrame("Map");
    frame.add(browserView, BorderLayout.CENTER);
    frame.setSize(900, 500);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);


    browser.loadHTML("<html>\n"
            + "    <head>\n"
            + "   <meta name=\"viewport\" content=\"initial-scale=1.0, user-scalable=no\"/>\n"
            + "   <style type=\"text/css\">\n"
            + "       html { height: 100% }\n"
            + "       body { height: 100%; margin: 0; padding: 0 }\n"
            + "       #map-canvas { height: 100% }\n"
            + "   </style>\n"
            + "   <script type=\"text/javascript\"\n"
            + "           src=\"https://maps.googleapis.com/maps/api/js?key=AIzaSyC-6h0sjJTfO2Kf5JxJYKdD-DwHwPHKVZI&sensor=false\"></script>\n"
            + "   <script type=\"text/javascript\">\n"
            + "     var map;\n"
            + "     function initialize() {\n"
            + "       var mapOptions = {\n"
            + "         center: new google.maps.LatLng(48.209331, 16.381302),\n"
            + "         zoom: 4\n"
            + "       };\n"
            + "      var marker, i;\n"
//This is where the problem is and what i'm trying to do.
            + "      for (i = 0; i < Test.keywordIndex.getsize() ; i++) {\n" 
            + "         marker = new google.maps.Marker({\n"
            + "         position: new  google.maps.LatLng(Test.latitude.get(Test.keywordIndex.get(i), Test.longitude.get(Test.keywordIndex.get(i),\n"
            + "         map: map\n"
            + "       });\n"
            + "     var marker = new google.maps.Marker({\n"
            + "    position:  new google.maps.LatLng(48.209331, 16.381302),\n"
            + "    map: map,\n"
            + "    title: 'Hello World!'\n"
            + "});"
            + "     }\n"
            + "     google.maps.event.addDomListener(window, 'load', initialize);\n"
            + "\n"
            + "   </script>\n"
            + "</head>\n"
            + "<body>\n"
            + "<div id=\"map-canvas\"></div>");

アイデアはありますが、コード自体の実行についてはわかりません

4

1 に答える 1

0

JxBrowser は、2015 年 10 月から 11 月にリリースされるバージョン 6.0で、 JavaScript-Java Bridge のArrayList をサポートします。

于 2015-10-21T12:39:06.457 に答える