thatcher/env-js · GitHub,env-js是一个纯服务器端的浏览器运行环境,提供了完整的DOM API,甚至能够让你在服务器端执行jQuery代码。下面是我写的一个Spring Bean,实现了真实GPS坐标转换到百度地图坐标的功能。代码的错误处理不是很完善,拿去用的时候需要适当的改改。
补充一点,后来发现,其实http://api.map.baidu.com/ag/coord/convert 返回的坐标为Base64编码的,可以直接用sun.misc.Base64Decoder解码,或者随便找个第三方库,就不用加载这个rhino库了。但是长期来看,Rhino库的解决方案通用性要好一些,万一那天百度的API变了,Rhino库也能适应。
import org.eclipse.jetty.util.resource.Resource;
import org.mozilla.javascript.Context;
import org.mozilla.javascript.ContextFactory;
import org.mozilla.javascript.Scriptable;
import org.mozilla.javascript.tools.shell.Global;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
impo