2016-04-27 18 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代碼。)

相關問題