2010-03-19 67 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