我有一个按钮,我已经挂上了单击一个电话来检索用户位置,然后使用该位置进行另一个呼叫来检索附近位置的列表.由于某些原因,地理位置成功方法在第二次点击按钮时被调用两次.
所以我加载页面,点击按钮,允许使用我的位置,并且它将使一个ajax请求来获取附近的位置.这工作正常
我再次点击按钮,允许使用我的位置(再次),它将使一个ajax请求获取位置,等待〜2秒,然后使用相同的坐标进行另一个请求,而无需我允许.所以成功的方法必须被调用两次,但我不知道为什么.
$("#FindLocation").click(function () { myScript.findNearbyLocations(displayData,displayError); });
这个点击功能没有被调用两次,我已经注释掉了displayData和displayError中的所有代码.
findNearbyLocations: function (onSuccess,onFailure) { if (navigator.geolocation) { browserSupportFlag = true; navigator.geolocation.getCurrentPosition(function (position) { alert('This is getting called twice except on the initial call.'); myScript.findStores(position.coords.latitude,position.coords.longitude,onSuccess,onFailure); },function () { onFailure(true); }); } }
任何人看到我错了哪里?
编辑:我不认为标记是问题.我只使用基本的网页进行测试.目前还没有造型或其他元素.
<form id="form1" runat="server"> <div> <MyControls:Search ID="Search" runat="server" /> </div> </form>
<script type="text/javascript"> $(document).ready(function () { $("#FindLocation").click(function () { myScript.findNearbyLocations(displayData,displayError); }); }); </script> <input type="button" id="FindLocation" value="Find Location" /> <div id="results"> </div>