首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >google.maps.places.Autocomplete在火狐中请求位置的次数太多

google.maps.places.Autocomplete在火狐中请求位置的次数太多
EN

Stack Overflow用户
提问于 2014-08-29 17:10:47
回答 3查看 794关注 0票数 2

在我的网站上,我有一个singn_up-form,并使用Google-Api向用户提供一些建议。API在Internet-Explorer中请求用户的位置一次。但是如果我尝试使用Firefox,请求会一直循环,直到我点击"Standort immer Freigeben“-它的意思是”总是接受“。

代码语言:javascript
复制
function initialize() {
   autocomplete = new google.maps.places.Autocomplete(
    (document.getElementById('autocomplete')),
     { types: ['geocode'] });
}

该代码在document.ready处加载,并包含更多代码,但此代码片段也会重现错误。有谁有什么想法吗?

EN

回答 3

Stack Overflow用户

发布于 2015-01-08 19:44:35

试试这个:把apis放入你的<head></head>

代码语言:javascript
复制
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3&sensor=false&libraries=places"></script>

把这个放到你的body标签里:

代码语言:javascript
复制
 <label for="autocomplete">Please Insert an address:</label>
 <br>
 <input id="autocomplete" type="text" size="100">

将此代码放入onload函数中:

代码语言:javascript
复制
var input = document.getElementById('autocomplete');    
new google.maps.places.Autocomplete(input);

这是我的代码:

代码语言:javascript
复制
var input = document.getElementById('autocomplete');    
new google.maps.places.Autocomplete(input);
代码语言:javascript
复制
<html>
  <head>
    <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3&sensor=false&libraries=places"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  </head>
  <body>
    <label for="autocomplete">Please Insert an address:</label><br>
    <input id="autocomplete" type="text" size="100">
  </body>
</html>

票数 0
EN

Stack Overflow用户

发布于 2017-02-07 21:43:34

您可能保留了Google Maps API Example中给出的一些onfocus属性

代码语言:javascript
复制
<input id="autocomplete" placeholder="Enter your address" onFocus="geolocate()" type="text"></input>

如果您不需要保留地点建议的边界,则可能需要将其移除

如果你需要设置建议的界限,保留一些条件,如果用户允许,每次都不要调用位置同意。

请将您的状态保存在geolocate() function

仅在Mozilla FireFox中出现

问题

票数 0
EN

Stack Overflow用户

发布于 2020-07-18 03:32:16

你想要做的是:

代码语言:javascript
复制
function handlePermission() {
  navigator.permissions.query({name:'geolocation'}).then(function(result) {
    if (result.state == 'granted') {
      geoBtn.style.display = 'none';
    } else if (result.state == 'prompt') {
      geoBtn.style.display = 'none';
      navigator.geolocation.getCurrentPosition(revealPosition,positionDenied,geoSettings);
    } else if (result.state == 'denied') {
      geoBtn.style.display = 'inline';
    }
  });
}

然后在您的回调函数收到权限后放入handlePermission();

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25565168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档