W3C геолокация, ошибка: позиция недоступна - PullRequest
0 голосов
/ 03 апреля 2012

Я пытаюсь реализовать API геолокации W3C, хотя я даю браузеру разрешение относительно моего местоположения, я получаю ошибку 2 (позиция недоступна) при использовании его из Firefox, и я получаю ошибку 1 (разрешение отклонено) при попытке егоиз хрома.Вот мой код:

Кнопка HTML, которая вызывает функцию JS:

Теперь мы поговорим об API геолокации

<input type="button" name="canbutt" value="draw c" onClick="javascript:geo()"/>

и моем коде JS:

         function geo(){

                    if (navigator.geolocation) {

                            navigator.geolocation.getCurrentPosition(
                                displayPosition, 
                                displayError);
                    }
                else {
                        alert("Geolocation is not supported by this browser");
                    }

        function displayPosition(position) {
                alert("Latitude: " + position.coords.latitude + ", Longitude: " + position.coords.longitude);
                        }
        function displayError(error) {
                var errors = { 
                    1: 'Permission denied',
                    2: 'Position unavailable',
                    3: 'Request timeout'
                    };
                alert("Error: " + errors[error.code]);
                    }


    }

     function canvas() {
                var canvas = document.getElementById("canv");
                var context = canvas.getContext("2d");
                context.fillStyle="red";
                context.strokeStyle="blue";
                context.strokeRect(50,25,50,60);
                context.fillRect(50,25,50,60);
                context.strokeStyle="green";
                context.moveTo(0,0);
                context.lineTo(300,150);
                context.stroke();
                context.fillStyle="blue";
                context.font="bold 12px Arial";
                context.textAlign="start";
                context.fillText("This is some Text",50,110);
                var gradient=context.createLinearGradient(0,0,100,100);
                gradient.addColorStop(0,"white");
                gradient.addColorStop(1,"black");
                context.fillStyle=gradient;
                context.fillRect(50,50,100,100);
                context.fillText("Im using Gradient!",60,10);
                context.drawImage(image, 20,20);


                    };

1 Ответ

1 голос
/ 03 апреля 2012

Существуют ограничения в использовании геолокации от file:/// URI.Попробуйте загрузить свою страницу на веб-сервер (локальный сервер также работает).

...