2013-10-25 3 views
0

mapbox.js를 사용하여 장소가있는지도를 만들고 있습니다. 난 그냥 다음 코드를 사용하여 성공적으로 관리 한 클릭, 오른쪽 좌표를 반환하는지도를 얻으려고 :mapbox.js의 위도와 경도를 알아보십시오

map.on('click', function(e) { 

    var latitude = e.latlng.lat; 
    var longitude = e.latlng.lng; 

    console.log(latitude + " - " + longitude) 

} 

유일한 문제는이지도를 작동하는 것은 절대적이어야한다는 것입니다 페이지 상단에 위치합니다. 지도가 아무것도없는 경우 반환 된 좌표는 더 북쪽에 위치합니다. 북쪽까지의 거리는지도의 페이지 상단까지의 거리에 따라 다릅니다. 상대적으로 배치 된 요소로지도를 배치하여 몇 가지 순열을 시도했지만 항상 페이지 상단을 측정하는 것처럼 보입니다.

누구든지 문제를 해결하는 방법을 알고 있습니까?

답변

2

MapBox는 위도 L 기준으로 절대 위치를 사용하지만 상대 div를 절대 div 내에 배치 할 수 있습니다. this gist

+0

봐 주셔서 감사합니다 :) 죄송합니다 늦게 회신 내가 너무 오랫동안 그것에 작동이 중지! – danbrown

0

을 도움이된다면 나를 당신이 뭔가를 사용할 수 있습니다 알려 :

<div id='output' class='ui-control'> 
    Click: <code id='click'></code><br/> 
    Mousemove: <code id='mousemove'></code><br/> 
</div> 
<div id='map'></div> 
L.mapbox.accessToken = 'pk.eyJ1IjoicmNhc3RpbGxvYWd1aXJyIiwiYSI6ImNpbDFrdmM2bTM2bnd1YW0zYjZ2dTc2OG4ifQ._HEJ9An2hZK2ofuMNEFdMA'; 

var click = document.getElementById('click'), 
    mousemove = document.getElementById('mousemove'); 

var map = L.mapbox.map('map', 'mapbox.streets'); 

map.on('mousemove click', function(e) { 
    window[e.type].innerHTML = e.containerPoint.toString() + ', ' + e.latlng.toString(); 
}); 
관련 문제