1
如何在JavaScript中比較2個衆所周知的文本點? 例如,如果積分是a = POINT(78.067606 12.994332) , b=POINT(78.067606 12.994332) ,
那麼如果我們比較(a==b)
它給出了錯誤,而不是真實的。爲什麼? 有什麼幫助嗎?WKT比較?
如何在JavaScript中比較2個衆所周知的文本點? 例如,如果積分是a = POINT(78.067606 12.994332) , b=POINT(78.067606 12.994332) ,
那麼如果我們比較(a==b)
它給出了錯誤,而不是真實的。爲什麼? 有什麼幫助嗎?WKT比較?
您可以比較點的高鐵總站(這只是兩個字符串的比較):
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');