从我读过的内容来看,似乎可以在 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没有任何经验。