2014-03-28 56 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上的「位置服務」被禁用。 –