我想捕获 Web 用户的地理位置数据并将其存储在带有服务器端 javascript 的 Notes 文档中。
因为我知道 XPages 没有用于检测地理位置的控件,所以 CGI 变量也没有帮助。
我该怎么做?
我想捕获 Web 用户的地理位置数据并将其存储在带有服务器端 javascript 的 Notes 文档中。
因为我知道 XPages 没有用于检测地理位置的控件,所以 CGI 变量也没有帮助。
我该怎么做?
以下是我用来在页面加载时查找地理坐标的脚本块的相关部分。适用于我测试过的 WebKit 浏览器,但不适用于 IE。
<xp:scriptBlock>
<xp:this.value><![CDATA[
var geo_location = {
latitude : 0,
longitude : 0,
emsg : "",
showLocation : function(position) {
geo_location.latitude = position.coords.latitude;
geo_location.longitude = position.coords.longitude;
var prOptions = {"latitude" : geo_location.latitude,
"longitude" : geo_location.longitude,
"msg" : geo_location.emsg};
XSP.partialRefreshGet("#{id:geoLocationPanel}",
{
params : prOptions,
onError : function () {
alert("geoLocationPanel partialRefresh Error");
}
});
}
};
XSP.addOnLoad(function(){
setTimeout(function(){
// function to get the current geo location
try {
navigator.geolocation.getCurrentPosition(geo_location.showLocation);
} catch (e) {
geo_location.emsg = e.toString();
alert("navigator.geolocation Error\n" + geo_location.emsg);
geo_location.showLocation({
coords : {
latitude : 0,
longitude : 0
}
})
}
}, 200);
}
)]]></xp:this.value>
</xp:scriptBlock>