2012-05-22 4 views
0

У меня есть следующий код. Как преобразовать значение lonlat в значения, используемые GPS в градусах?Преобразование lonlat в GPS Используемые значения

UPDATE: Я не уверен, что использую правильный словарный запас, но в настоящее время lonlat равен примерно так: «2698.98978 1232.8998». Я хочу перейти к градусам, например. '41 .2987 2,1989 '.

lonlat является переменной. См. Код.

<html> 
<head> 
<script src="http://openlayers.org/api/OpenLayers.js"></script> 
<script type="text/javascript"> 
    function init(){ 
     map = new OpenLayers.Map('map'); 
     base_layer = new OpenLayers.Layer.WMS("OpenLayers WMS", 
     "http://labs.metacarta.com/wms/vmap0", {layers: 'basic'}); 
     map.addLayer(base_layer); 
     map.zoomToMaxExtent(); 
     map.events.register('click', map, handleMapClick); 
    } 

    function handleMapClick(evt) 
    { 
     var lonlat = map.getLonLatFromViewPortPx(evt.xy); 
     // use lonlat 
     alert(lonlat); 
    } 
</script> 
</head> 
<body onload="init()"> 
    Hello Map.<br /> 
<div id="map"></div> 
</body> 
</html> 
+0

Что такое значение 'lonlat'? –

+0

Это то, что вы ищете: http://andrew.hedges.name/experiments/haversine/ –

+0

Я не уверен, что использую правильный словарный запас, но в настоящее время lonlat равен чему-то вроде этого «2698.98978 1232.8998». Я хочу перейти к градусам, например. '41 .2987 2,1989 '. –

ответ

0

Вы не должны использовать getLonLatFromViewPortPx но getLonLatFromPixel метод как это:

var lonlat = map.getLonLatFromPixel(evt.xy); 

Это даст вам правильные координаты без каких-либо преобразований.

Смежные вопросы