0

从我读过的内容来看,似乎可以在 java 程序中运行一些 javascript,但是我仍在努力完全掌握如何。我是否能够做足够的事情来执行要在我的 java 程序中显示的 googlemap api?

我一直在看的两个代码示例是 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 中的 google doc 网站上找到的示例,以生成以下内容:

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没有任何经验。

4

1 回答 1

0

我不太了解将 Google 地图脚本与集成策略或集成策略集成。

但是,您可以从您的 java 代码中执行 JavaScript 文件。所以我觉得您可以在 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。我希望它可以帮助你

于 2013-08-02T08:29:23.863 回答