2016-04-27 22 views
0

我是JavaScript新手,也是一门新兴的组合语言。我想在我的Java程序中使用geolocation的函数,我相信这是实现它的方法。是否可以在Rhino JavaScript引擎中使用geoloation?

import javax.script.*; 

public class Foo{ 

public static void main(String[] args) throws Exception { 
     ScriptEngineManager factory = new ScriptEngineManager(); 
     ScriptEngine engine = factory.getEngineByName("JavaScript"); 
     engine.eval(new java.io.FileReader(args[0])); 
    } 
} 


的JavaScript

var navigator ={}; 

    var locater = function getLocation() {; 
      if (navigator.geolocation) { 
      navigator.geolocation.getCurrentPosition(showPosition); 
      } 
    }; 
    //tell me how 

    locater(); 

作为JavaScript新手林不知道如何做到这一点。

我想获得坐标并打印或者可能使其可以被Java程序访问。如果我应该使用不同的方式来获取我的计算机在Java应用程序中的位置,请推荐一种方法,因为我找不到它。

回答

0

在Java应用程序中运行的Rhino JavaScript引擎与运行在Web浏览器中的JavaScript引擎不同。他们都解释JavaScript,但他们的“服务”是差异所在。

在浏览器中,JavaScript引擎可能会联系Web服务将IP地址变成经纬度。

在Java中,Rhino引擎可以访问父Java应用程序提供给引擎的任何资源(如果有)。

要检索当前位置,运行在Rhino中的JavaScript代码将调用给Rhino环境的Java对象的方法。 Java对象会以某种方式确定位置,并将其返回给调用者。

如果您的Java应用程序的目标是确定当前位置,则调用Rhino/JavaScript不是答案。相反,请使用此处列出的库:best-way-to-get-geo-location-in-java

(如果需要,您可以将您的Java应用程序检索到的这些信息提交给Rhino以用于JavaScript代码。)

相关问题