0

私が読んだことから、Javaプログラム内でJavaScriptを実行することは可能であるように見えますが、その方法を完全に把握するのにまだ苦労しています。Java プログラムで表示される googlemap API を実行するのに十分なことはできますか?

私が見てきたコードの2つの例は、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);

これら 2 つのコード サンプルを統合して、マップが「hello world」ではなく JPanel に表示されるようにする方法を理解するのを手伝ってくれる人がいれば、残りの部分を理解できると思います。

更新:使用条件を読んだ後、条件に違反していることがわかりました。マップを組織の公開サイトに移動すると、そのスクリプトの結果を 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 に答える