地理位置精确

时间:2014-02-14 21:26:01

标签: javascript html5 geolocation

我编写了这段代码,但是有一个问题,代码可以工作,但是如果我打开它并且在打开脚本之前没有在我的手机上打开地图,那么位置不准确,但是如果我打开地图(在地图中我是位于精确+/- 1米处,比我准确重定向。有没有办法在我的脚本中放置用户位于地图中的精确位置?

if(navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showPosition,showError);
}
else {
    alert("Vaš preglednik ne podržava geolokaciju.");
}

function showError(error) {
    switch(error.code) {
        case error.PERMISSION_DENIED:
            alert("Molimo dopustite lociranje kako bi stranica pravilno radila.");
            break;

        case error.POSITION_UNAVAILABLE:
            alert("Nema informacija o vašoj lokaciji.");
            break;

        case error.TIMEOUT:
            alert("Vrijeme slanja zahtjeva isteklo.");
            break;

        case error.UNKNOWN_ERROR:
            alert("Oops. Dogodila se nepoznata greška.");
            break;
    }
}

function showPosition(pos) {
    //Neboder
    if (pos.coords.latitude <= 45.77578 && pos.coords.latitude >= 45.77502 && pos.coords.longitude <= 15.995222 && pos.coords.longitude >= 15.994286)
    {window.location = 'mob_test.html';}


    //Vrtic
    if (pos.coords.latitude <= 45.774885 && pos.coords.latitude >= 45.774754 && pos.coords.longitude <= 15.993956 && pos.coords.longitude >= 15.993886) {
    window.location = 'vrtic.html';}

    //Restoran      
    if (pos.coords.latitude <= 45.774896 && pos.coords.latitude >= 45.774748 && pos.coords.longitude <= 15.993792 && pos.coords.longitude >= 15.993671) {
        window.location = 'skola.html';
    }
    //Ostalo     
    else {
        window.location = 'bljak.html';
    }
}

1 个答案:

答案 0 :(得分:1)

HTML5 Geolocation API有选项,其中一个是enableHighAccuracy。尝试将该选项设置为true,看看它是否有所不同。