2010年6月1日 星期二

MapGuide_距離量測

雖然MapGuide已經有提供距離量測的功能,

但是若是需要自行設計一些客製的量測方式,還是必須藉助程式

Mapguide有提供幾個繪圖的API

例如:DigitizeLineString、DigitizeLine等等

實現步驟:

1. 首先在某一個按紐或是圖面上呼叫Srcipt

<img alt="多段量距" src="M_moreline.GIF" onclick="DigitizeLineString();" style=" cursor:pointer";/>

2. 利用JavaScript呼叫MapGuide繪圖的API。

function DigitizeLineString()
{
parent.DigitizeLineString(OnDigitizeLineString);
}
function OnDigitizeLineString(line)
{
ShowResults(CalculateDisMore(line));
}

3. 擷取繪出圖形的座標資料,並儲存到你想要存放的地方

function CalculateDisMore(line)
{
Xstr = ""
Ystr = ""

for(var i = 0; i < line.Count; i++)
{
pt0 = line.Point(i);

if (i<line.Count-1)
{
Xstr += pt0.X + ",";
Ystr += pt0.Y + ",";
}
else
{
Xstr += pt0.X;
Ystr += pt0.Y;
}
}
document.getElementById('XString').value = Xstr;
document.getElementById('YString').value = Ystr;
}

4. 利用繪臨時層的方式,把剛剛量測的線或是面暫時畫在圖面上。

效果:

多段距離量測


面積量測

沒有留言:

張貼留言