2013-08-02 131 views
0

從我讀過的東西似乎可以在Java程序中運行一些JavaScript,但是我仍然努力完全掌握如何。我能夠做足夠的執行googlemap api以顯示在我的java程序中嗎?如何將googlemap api javascript從網頁集成到java程序中?

的,我一直在尋找的代碼的兩個例子是這樣的在Java:

import javax.script.*; 

public class script { 
public static void main(String[] args) throws Exception { 
    ScriptEngineManager manager = new ScriptEngineManager(); 
    ScriptEngine engine = manager.getEngineByName("JavaScript"); 

    // JavaScript code in a String 
    String script = "function hello(name) { print('Hello, ' + name); }"; 
    // evaluate script 
    engine.eval(script); 

    // javax.script.Invocable is an optional interface. 
    // Check whether your script engine implements or not! 
    // Note that the JavaScript engine implements Invocable interface. 
    Invocable inv = (Invocable) engine; 

    // invoke the global function named "hello" 
    inv.invokeFunction("hello", "Scripting!!"); 
} 
} 

,並以此作爲在JavaScript上的谷歌文檔網站上發現生產一個例子:

var center = new google.maps.LatLng(37.4419, -122.1419); 
var options = { 
'zoom': 13, 
'center': center, 
'mapTypeId': google.maps.MapTypeId.ROADMAP 
}; 

var map = new google.maps.Map(document.getElementById("map"), options); 

var markers = []; 
for (var i = 0; i < 100; i++) { 
var latLng = new google.maps.LatLng(data.photos[i].latitude, 
    data.photos[i].longitude); 
var marker = new google.maps.Marker({'position': latLng}); 
markers.push(marker); 
} 
var markerCluster = new MarkerClusterer(map, markers); 

如果你們中的任何一位能夠幫助我理解如何整合這兩個代碼示例,以便地圖出現在JPanel而不是「hello world」中,那麼我想我可以將其餘部分弄清楚。

更新:在閱讀了使用條款後,我發現我會違反條款,但是;如果我將地圖移動到我們的組織公共站點上,我應該能夠將該腳本的結果加載到我的Java程序JPanel中,以便公開訪問地圖並且不會違規。我對麼?這可能嗎?我沒有任何使用JavaScript的經驗。

+1

你必須小心! Google禁止在網絡應用程序之外使用地圖!您應該先閱讀許可協議! – desperateCoder

+0

感謝那個@desperateCoder。我正在查看現在的政策,尤其是第9部分:https://developers.google.com/maps/terms#section_9_1,並且我希望您能夠確定我的用途將被歸類爲什麼。我的目的是使用該服務在Java應用程序內每小時彙總一次數據,以便在組織內部使用。這是否被認爲違反了「免費訪問」? –

+0

第9節應該不是問題,我想。即使存在違規行爲,我認爲沒人會注意到......聲音,就像您將是您應用程序的唯一用戶一樣......但您應該關注的是第10.1.1節。 (h)和10.1.3,還是我誤解了一些東西... – desperateCoder

回答

0

我對將Google地圖腳本與集成策略進行集成知之甚少。

但是,你可以從你的Java執行JavaScript文件code.So我覺得你可以寫在一個js文件的腳本代碼並執行如下:

import javax.script.*; 
public class EvalFile { 
    public static void main(String[] args) throws Exception { 
     // create a script engine manager 
     ScriptEngineManager factory = new ScriptEngineManager(); 
     // create JavaScript engine 
     ScriptEngine engine = factory.getEngineByName("JavaScript"); 
     // evaluate JavaScript code from given file - specified by first argument 
     engine.eval(new java.io.FileReader(yourfile.js)); 
    } 
} 

欲瞭解更多信息,請參閱此鏈接http://docs.oracle.com/javase/6/docs/technotes/guides/scripting/programmer_guide/index.html 。我希望它可以幫助你

相關問題