但是若是需要自行設計一些客製的量測方式,還是必須藉助程式
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. 利用繪臨時層的方式,把剛剛量測的線或是面暫時畫在圖面上。
效果:
多段距離量測
面積量測
沒有留言:
張貼留言