有没有办法替换toShortString()返回的值?

时间:2010-03-19 18:55:36

标签: javascript openlayers

我正在使用openlayers,我可以在地图上得到一个点,但我无法获得单独的坐标。

       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

我做错了什么,我该怎么纠正呢?

由于

2 个答案:

答案 0 :(得分:2)

您不应使用toShortString()方法来获取几何体的各个坐标。获取描述LonLat对象的字符串(即“coordX,coordY”)只是一个方便的函数。

改为使用xy属性:

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

答案 1 :(得分:1)

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