2015-04-28 112 views
2

我在我的項目中有兩個類。一個是名爲Test的主類,它包含代碼的所有功能。 它還定義了多個Array列表,我想使用其中的兩個,並使用JXBrowser庫將它們的值放入JavaScript中。 請看看我添加評論的地方。 基本上,我想要做的是在JXBrowser庫中使用JavaScript的Java類中使用Google Maps,並通過從主類獲取經度和緯度並在JavaScript代碼中添加它們來添加多個標記。通過JXBrowser將Java ArrayList變量索引傳遞給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>"); 

我有這個想法,但不知道代碼本身

+0

你應該先運行它,看看你是否得到了預期的結果。 –

+0

我不會問這個問題,如果我沒有運行它,並沒有得到結果 – Donrage

回答

0

JxBrowser將支持的ArrayList中JavaScript-Java Bridge在6.0版本將會在被釋放的執行10 - 11月2015年

+0

@Validimir那麼基於某些對象的簡單數組呢?我無法獲得Arrays.isArray(passedToJs)的工作。也不會傳遞給.Jsplice!==未定義...如何傳遞一個java數組使其成爲一個有效的javascript數組? – momomo