2017-09-22 1 views
2

현재 javascript, openstreetmaps 및 전단지를 사용하여 간단한지도를 구현하려고합니다.Javascript 위치 정보가 위치 정보를 찾을 수 없습니다.

내 문제는 그 전에 자바 스크립트 geolocation을 호출하고 브라우저에서 정보를 확인할 때 오류가 계속 발생합니다.

<html> 

<head> 

<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css" 
integrity="sha512-M2wvCLH6DSRazYeZRIm1JnYyh22purTM+FDB5CsyxtQJYeKq83arPe5wgbNmcFXGqiSH2XR8dT/fJISVA1r/zQ==" 
crossorigin=""/> 

<script src="https://unpkg.com/[email protected]/dist/leaflet.js" 
integrity="sha512-lInM/apFSqyy1o6s89K4iQUKg6ppXEgsVxT35HbzUupEVRh2Eu9Wdl4tHj7dZO0s1uvplcYGmt3498TtHq+log==" 
crossorigin=""></script> 

<style> 
    #mymap { 
     width: 100%; 
     height: 400px; 
     background-color: grey; 
     margin-top: 15px; 
    } 
</style> 

<script language="javascript"> 

function initmap(initialLat, initialLong) 
{ 
    if(!initialLat || !initialLat.length){ 
    initialLat = 38.01693; 
} 

if(!initialLong || !initialLong.length){ 
    initialLong = -8.69475; 
} 

var mymap = this.mymap = L.map('mymap',{ 
    center: [initialLat, initialLong], 
    zoom: 15 
    }); 

var osmUrl='http://tile.openstreetmap.org/{z}/{x}/{y}.png'; 
var osmAttrib='Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors'; 

L.tileLayer(osmUrl, osmAttrib).addTo(mymap); 
} 

function getMylocation() 
{ 
    if(navigator.geolocation){ 

    navigator.geolocation.getCurrentPosition(function (position) { 

     var lat = position.coords.latitude; 
     var long = position.coords.longitude; 

     mymap.setView(new L.LatLng(lat, long), 15); 

    }, function (error) { 
     switch (error.code) { 
     case error.PERMISSION_DENIED: 
      output.innerHTML += "<p>User denied the request for Geolocation.</p>"; 
      break; 
     case error.POSITION_UNAVAILABLE: 
      output.innerHTML += "<p>Location information is unavailable.</p>"; 
      break; 
     case error.TIMEOUT: 
      output.innerHTML += "<p>The request to get user location timed out.</p>"; 
      break; 
     case error.UNKNOWN_ERROR: 
      output.innerHTML += "<p>An unknown error occurred.</p>"; 
      break; 
     } 
    }); 
    } 
} 

</script> 

</head> 

<body onLoad="javascript:initmap();"> 

<button id="find-near-btn" onClick="getMylocation()"> 
    Find my location 
</button> 

<div id="mymap"></div> 
<div id="output"></div> 

</body> 

</html> 

버튼을 사용하여 getMyLocation() 함수를 호출, 난 항상

case error.POSITION_UNAVAILABLE: 

상태에서 생을 마감 : 내 현재 코드는 다음과 같다. 이것이 일어날 수있는 이유에 대한 아이디어가 있습니까?

답변

0

위치 정보를 사용할 수 없을 때 오류가 발생합니다. GeoLocation API는 CELL Towers, Wi-Fi MAC 주소, GPS (모바일에있는 경우)를 기준으로 위치를 추정합니다. 그러나 그 정보는 이용 가능하지 않습니다. 코드가 정확합니다. 다른 장치에서 실행하십시오.

관련 문제