Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 地理定位不使用HtmlService_Google Apps Script - Fatal编程技术网

Google apps script 地理定位不使用HtmlService

Google apps script 地理定位不使用HtmlService,google-apps-script,Google Apps Script,我创建了以下两个文件: 代码.gs function doGet() { var html = HtmlService.createHtmlOutputFromFile('html.html'); return html; } html.html <html> <body> <p id="messaging">Click the button to get your coordinates:</p> <button onclick=

我创建了以下两个文件:

代码.gs

function doGet() {
  var html = HtmlService.createHtmlOutputFromFile('html.html');
  return html;
}
html.html

<html>
<body>
<p id="messaging">Click the button to get your coordinates:</p>
<button onclick="getLocation()">Where am I</button>

<script>
  var message=document.getElementById("messaging");
  function getLocation() {
    if (navigator.geolocation) {
      navigator.geolocation.getCurrentPosition(showPosition);
    } else {
      message.innerHTML="Geolocation is not supported.";
    }
  }

function showPosition(position) {
  message.innerHTML="Latitude: " + position.coords.latitude + "<br>Longitude: " + position.coords.longitude;
}
</script>
</body>
</html>

单击按钮获取您的坐标:

我在哪里 var message=document.getElementById(“消息传递”); 函数getLocation(){ if(导航器.地理位置){ navigator.geolocation.getCurrentPosition(showPosition); }否则{ message.innerHTML=“不支持地理位置。”; } } 功能显示位置(位置){ message.innerHTML=“Latitude:”+position.coords.Latitude+“
经度:”+position.coords.Longitude; }
当我调用发布的URL时,我得到了预期的消息和按钮。单击按钮,我会收到失败消息“不支持地理位置”。如果我将html.html保存在一个文件中并在浏览器中打开它,它将按预期工作


有什么想法吗?

我相信,卡贾是罪魁祸首。您可以运行您的代码来检查行为是否相同吗。如果相同,您可以在中打开一个问题

要了解更多Caja对HtmlService的作用,您可以参考以下内容

更新
上述答案已过时。现在可以使用浏览器中的navigator.geolocation对象访问位置。

我相信,Caja是罪魁祸首。您可以运行您的代码来检查行为是否相同吗。如果相同,您可以在中打开一个问题

要了解更多Caja对HtmlService的作用,您可以参考以下内容

更新
上述答案已过时。现在,您可以使用浏览器中的navigator.geolocation对象访问位置。

geolocation在HtmlService中尚不可用

geolocation在HtmlService中尚不可用

我刚刚尝试了您的代码,因为我想在Google站点中使用Google Apps脚本做些事情

目前看来,HTMLService仍然不支持地理定位,但我发现了一种可能的解决方法,可以满足我的特定需求(即与谷歌网站结合使用),这也可以帮助其他人:

工作原理是创建一个定制的“谷歌网站小工具”

使用来自的示例代码

我最终为我的小工具创建了一个“骨架”XML文件,如下所示:


功能显示位置(位置){
变量纬度=位置坐标纬度;
var经度=position.coords.longitude;
警报(“纬度:+纬度+”经度:+经度);
}
函数errorHandler(err){
如果(err.code==1){
警报(“错误:访问被拒绝!”);
}else if(err.code==2){
警报(“错误:位置不可用!”);
}
}
函数getLocation(){
if(导航器.地理位置){
//60000毫秒(60秒)时超时
var选项={timeout:60000};
navigator.geolocation.getCurrentPosition(showLocation,
错误处理程序,
选择权);
}否则{
警报(“对不起,浏览器不支持地理位置!”);
}
}
]]>

我刚刚尝试了你的代码,因为我想在谷歌网站上用谷歌应用程序脚本做点什么

目前看来,HTMLService仍然不支持地理定位,但我发现了一种可能的解决方法,可以满足我的特定需求(即与谷歌网站结合使用),这也可以帮助其他人:

工作原理是创建一个定制的“谷歌网站小工具”

使用来自的示例代码

我最终为我的小工具创建了一个“骨架”XML文件,如下所示:


功能显示位置(位置){
变量纬度=位置坐标纬度;
var经度=position.coords.longitude;
警报(“纬度:+纬度+”经度:+经度);
}
函数errorHandler(err){
如果(err.code==1){
警报(“错误:访问被拒绝!”);
}else if(err.code==2){
警报(“错误:位置不可用!”);
}
}
函数getLocation(){
if(导航器.地理位置){
//60000毫秒(60秒)时超时
var选项={timeout:60000};
navigator.geolocation.getCurrentPosition(showLocation,
错误处理程序,
选择权);
}否则{
警报(“对不起,浏览器不支持地理位置!”);
}
}
]]>

自2016年起,地理定位在IFRAME模式下与HtmlService一起工作。在这里测试它:

使用Chrome和Firefox(桌面)进行测试,都可以。不适用于Safari(桌面)(共享位置确认框不会弹出。我讨厌Safari!)


有趣的是,它与iOS 9上的Safari兼容,但与iOS 9上的最新Chrome不兼容。(同一问题,无确认弹出窗口)

自2016年起,地理定位在IFRAME模式下与HtmlService一起工作。在这里测试它:

使用Chrome和Firefox(桌面)进行测试,都可以。不适用于Safari(桌面)(共享位置确认框不会弹出。我讨厌Safari!)


有趣的是,它与iOS 9上的Safari兼容,但与iOS 9上的最新Chrome不兼容。(同一问题,没有确认弹出窗口)

谢谢Corey。PS你知道我关注的是“尚未”。:-)没有承诺,但我们正在尝试添加自原始请求以来的任何更新?知道HtmlService是否/何时提供it地理定位服务吗?谢谢Corey。PS你知道我关注的是“尚未”。:-)没有承诺,但我们正在尝试添加自原始请求以来的任何更新?你知道HtmlService中是否/何时会提供it地理定位吗?显然这不是Caja问题:显然这不是Caja问题:酷。谢谢,我会查的。酷。谢谢,我会查出来的。@sdx11不能做什么?我刚刚测试过它,它工作正常。您使用的是什么系统?@sdx11系统规格是什么-操作系统和浏览器。@sdx11无法执行什么操作?我刚刚测试过它,它工作正常。您使用的是什么系统?@sdx11系统规格是什么-操作系统和浏览器。