2010-03-19 66 views
0

我正在和openlayers一起工作,我可以在地圖上找到一個點,但我無法獲得單個座標。有沒有方法來substr由toShortString()返回的值?

 feat = drawLayer.features[0]; 

     var geom = feat.geometry; 
     var loca = geom.toShortString(); 
     var long = loc.substr(0,9); 

     alert(geom.toShortString());//returns the correct coords in xx.xxx,xx.xxx format 
     alert(loca);//returns 2 very large numbers in xx.xxx,xx.xxx format 
     alert(long);//returns the first, incorrect number 

我在做什麼不對,我該如何糾正?

感謝

回答

1
var parts = geom.toShortString().split(','); 
var long = parts[0]; 
var lat = parts[1]; 
2

你不應該使用toShortString()方法來獲取幾何的各個座標。獲取描述LonLat對象的字符串(即「coordX,coordY」)只是一個方便的功能。

使用xy屬性,而不是:

var geom = feat.geometry; 
var lon = geom.x; //X coordinate/Longitude 
var lat = geom.y; //Y coordinte/Latitude