2014-03-28 23 views
0

我有下面的脚本显示了我的当前位置。它在台式电脑上工作正常,但我不明白为什么不适用于iPhone。怎么了?获取当前位置在iPhone上不起作用

<script> 

function success(position) { 
    var mapcanvas = document.createElement('div'); 
    mapcanvas.id = 'mapcontainer'; 
    mapcanvas.style.height = '400px'; 
    mapcanvas.style.width = '100%'; 

    document.querySelector('#map').appendChild(mapcanvas); 

    var coords = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); 

    var options = { 
    zoom: 15, 
    center: coords, 
    mapTypeControl: false, 
    navigationControlOptions: { 
     style: google.maps.NavigationControlStyle.SMALL 
    }, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    var map = new google.maps.Map(document.getElementById("mapcontainer"), options); 

    var marker = new google.maps.Marker({ 
     position: coords, 
     map: map, 
     title:"You are here!" 
    }); 
} 

if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(success); 
} else { 
    error('Geo Location is not supported'); 
} 

</script> 

回答

0

这是HTML5的功能,当你请求这样的方法,浏览器必须在第一次尝试获得当前位置要求的用户权限。

enter image description here

检查:Using Geolocation

+0

是的,我知道,但不会发生在iPhone什么。浏览器不需要使用地理位置的权限。例如,如果我访问此页http://www.paulund.co.uk/playground/demo/google_maps_geo_location/在我的iPhone上,我无法得到我目前的位置,而是在我的台式电脑上正常工作 –

+0

什么是iOS版本?你有支持HTML5的浏览器? – wrivas

+0

我解决了!出于某种原因,我的iPhone上的“位置服务”被禁用。 –