2012-11-09 46 views
1

如何在JavaScript中比較2個衆所周知的文本點? 例如,如果積分是a = POINT(78.067606 12.994332) , b=POINT(78.067606 12.994332) , 那麼如果我們比較(a==b)它給出了錯誤,而不是真實的。爲什麼? 有什麼幫助嗎?WKT比較?

回答

2

您可以比較點的高鐵總站(這只是兩個字符串的比較):

var p1 = new OpenLayers.Geometry.Point(10.123, 10.456); 
var p2 = new OpenLayers.Geometry.Point(10.123, 10.456); 

var wkt1 = p1.toString(); 
var wkt2 = p2.toString(); 

if (wkt1 == wkt2) 
    alert('Works as expected!'); 

有時點可能非常接近對方,但它們的座標可能會略有不同。另一種選擇是控制幾何之間的距離:

var p1 = new OpenLayers.Geometry.Point(10.123, 10.456); 
var p2 = new OpenLayers.Geometry.Point(10.124, 10.457); 

var allowedDist = 0.002; 
var dist = p1.distanceTo(p2); 

if (dist < allowedDist) 
    alert('Points are close enough');