2014-11-17 18 views
12

Acaba, tıklama olayının koordinatlarını lat, lon olarak nasıl eşleştirebilirim? İşte Dönüş noktasının Latitude'a dönüşümü

benim kodudur:

map.on('click', function(evt) { 
    var element = popup.getElement(); 
    var coordinate = evt.coordinate; 

    var latLon = ol.proj.transform(coordinate, 'EPSG:3857', 'EPSG:4326'); 

    $(element).popover('destroy'); 
    popup.setPosition(coordinate); 

Normalde koordinat değeri bana bir dizi vb verir: [48654.02545, 3.265.468,45455]

Ama lat boylam vb gerekir: ([39,54876 , 32,547821])

Özet: I EPSG dönüştürmek için gereken: 3857 EPSG koordine: 4326 koordinat (enlem/boylam)

Herhangi bir fikrin var mı? senin harita görünümü projeksiyon Web Mercator (EPSG: 3857) ise

+0

neyi map.getEventCoordinate (evt) hakkında? – Thibaut

+0

@Thibaut bunu bana bu şekilde verir [3648595.2737768563,4850925.944188948] ama bir hesaplama var lat, lon – gokhangokce

cevap

29

, varsayılan, sonra çalışmalıdır:

map.on('click', function(evt) { 
    var lonlat = ol.proj.transform(evt.coordinate, 'EPSG:3857', 'EPSG:4326'); 
    var lon = lonlat[0]; 
    var lat = lonlat[1]; 
    // … 
}); 
+0

çözüldü sorun ama çözüm daha profesyonel. Ben android LogCat neden sorun düşünüyorum, çünkü ben coudlnt dizi değerlerini görüyorum. – gokhangokce

+0

Bu çözüm sadece evt.coordinate için çalışır. Bir simge nesnesi için çalışmıyor. Vb: var geometrisi = feature.getGeometry(); var coord = geometry.getCoordinates(); var lonlat = ol.proj.transform (koordinat, 'EPSG: 3857', 'EPSG: 4326'); var lon = lonlat [0]; var lat = lonlat [1]; , Lon-Lat değerini döndürür: 0.000026949458523585642 - 0.000053898917059314044 – gokhangokce

+0

Tam bir örnek vermeniz gerekir. – erilem