Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.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
Javascript无法与HTML 5地理位置一起正常工作_Javascript_Html_Geolocation - Fatal编程技术网

Javascript无法与HTML 5地理位置一起正常工作

Javascript无法与HTML 5地理位置一起正常工作,javascript,html,geolocation,Javascript,Html,Geolocation,所以我有一些代码似乎不起作用。这几乎是页面的顶部。上面只是一些其他声明 window.lat = 42.688; window.lng = -75.980; $(function () { if (Modernizr.geolocation) { alert('ayoson'); navigator.geolocation.getCurrentPosition(function (position) { window.lat =

所以我有一些代码似乎不起作用。这几乎是页面的顶部。上面只是一些其他声明

window.lat = 42.688;
window.lng = -75.980;

$(function () {
    if (Modernizr.geolocation) {
        alert('ayoson');
        navigator.geolocation.getCurrentPosition(function (position) {
            window.lat = position.coords.latitude;
            window.lng = position.coords.longitude;

        })
    }
    // Build map
    var mapOptions = {
        center: new google.maps.LatLng(window.lat, window.lng),
        zoom: 5,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
我只是以我设置的默认值结束,即使当我在Modernizr.geolocation中放置警报时,它会触发。 此外,如果我将警报置于
var映射选项
(如
alert(window.lng);
)上方,则第一个警报将不再触发


提前感谢。

在分配
var-mappoptions
后的某个时间,异步执行
navigator.geolocation.getCurrentPosition
的回调
navigator.geolocation.getCurrentPosition
(可能)需要用户的反馈,回调仅在之后执行。同时,代码的其余部分将继续运行


由于如果用户忽略回调,则根本不保证会运行回调,因此最好的策略是使用默认位置构建地图,然后在成功定位用户后,从
navigator.geolocation.getCurrentPosition
回调更新地图位置。

您可以与功能代码共享JSFIDLE吗?