2012-05-16 2 views
0

내 야후 map.i에서 사용하기 위해 geolocation에서 좌표를 가져 오려고하는데, Firefox, Chrome 및 Internet Explorer 버전 12.0, 18.0.1025.168m 및 9.0.8112.16421에서 실행했습니다. 파이어 폭스에서 내 위치를 공유 할 수있는 권한을 요청합니다 (동의 함). 인터넷 탐색기는 위치 정보를 지원하지 않으며 크롬은 위치 정보를 지원하지만 위치를 찾지 않습니다. 여기 (navigator.geolocation)의 경우 내 코드geolocation yahoo maps api

<div id="map" align="right" height="50%" width="50%"> </div> 
<script type="text/javascript" src="http://api.maps.yahoo.com/ajaxymap?v=3.8&appid=xoo5uJLV34FTpTmoqrs.mIQOX_DTcBhPowcz17ClEeb.jCIZ1Z6_Aa9FO8brGg--"></script> 
<script type="text/javascript"> 

alert("ok ws dame"); 
if(navigator.geolocation) { 
    alert("Great..Geolocation API is supported."); 
    var map = new YMap(document.getElementById('map')); 
    map.addTypeControl(); 
    map.setMapType(YAHOO_MAP_REG); 

    navigator.geolocation.getCurrentPosition(foundlocation,nolocation); 

    function foundlocation(position){ 
    var latitude = position.coords.latitude; 
    var longitude = position.coords.longitude; 
    alert(latitude+","+longitude); 
    var coords = new YGeoPoint(latitude,Longitude); 
    map.drawZoomAndCenter(coords,3); 
    map.addMarker(coords); 
    } 
    function nolocation(error){ 
var map = new YMap(document.getElementById('map')); 
map.addTypeControl(); 
map.setMapType(YAHOO_MAP_REG); 
    alert("Location not found."); 
    // Display the map centered on a geocoded location 
    map.drawZoomAndCenter("Patras", 3); 
    var Lat = 38.2444444; 
    var Lon = 21.7344444; 
    var myPoint = new YGeoPoint(Lat,Lon); 
    map.addMarker(myPoint);  
    } 
} 
else { 
var map = new YMap(document.getElementById('map')); 
map.addTypeControl(); 
map.setMapType(YAHOO_MAP_REG); 
    alert("Geolocation API is not supported in your browser."); 
    // Display the map centered on a geocoded location 
    map.drawZoomAndCenter("Patras", 3); 
    var Lat = 38.2444444; 
    var Lon = 21.7344444; 
    var myPoint = new YGeoPoint(Lat,Lon); 
    map.addMarker(myPoint); 
} 
</script> 

거짓이 다음은 corectly map.This에 deafault 위치 기능 (nolocation)에서 동일하게 작동 보여줍니다 반환합니다. 내 문제는 현재 위치를 얻을 때입니다. navigator.geolocation.getCurrentPosition (foundlocation, nolocation); 내부 함수 (foundlocation)에는 메시지가 표시되지 않습니다. 어떤 도움을 주셔서 감사합니다 ..

답변

0

잘 동작합니다. 기본적으로 때로는 작동하고 다른 일부에서는 그렇지 않습니다. 이유는 모르지만 코드는 잘 작동합니다.

1

오류 : var coords = new YGeoPoint (위도, 경도);

경도 NOT 대문자 "L"로 표시

잘 작동합니다!

+0

괜찮습니다. 실수로 한 실수입니다. 그러나 그것은 그곳에 도착하지 않습니다 .. 그 전에는 문제가 있습니다 .. – user1385257

+0

그것이 w3school의 예제가 매번 작동하지 않는 경우에도 geolocation이 작동하는 방식입니다. –

+0

예 가끔 작동하지만 매번 작동하도록하고 싶습니다. 어쩌면 네트워크 문제 일 수도 있지만 코드는 괜찮습니다. – user1385257