當前位置:首頁 » 編程語言 » 可放大地圖c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

可放大地圖c語言

發布時間: 2022-07-26 20:31:45

① 想用Java語言編寫一個,可以放大、縮小、移動地圖的地圖軟體,輸入經緯度可在地圖上定位,在離線下可用

可以學習一下圖吧(mapbar)地圖api的開發文檔
open .mapbar .com

② 有沒有用c語言畫出大體的中國地圖的程序啊~~

有啊,出222

③ 電子地圖C語言代碼

fscanf(p , "%s" , s[i].flag);

//
道路信息放入內存中

fscanf(p , "%s" , s[i].brunch);

//
道路信息放入內存中

fscanf(p , "%s" , s[i].dispclass);

//
道路信息放入內存中

fscanf(p , "%s" , s[i].Roadname);

//
道路信息放入內存中

fscanf(p , "%s" , s[i].sign_two);

//
道路信息放入內存中

}

if(s[1].sign_one!="")

//
判斷文件信息是否寫入成功

printf("\n\t\t\t

文件信息
-------
寫入內存成功
\n\n");

ma_interf();

//
返回主界面

}

else

{

ma_interf();

//
返回主界面

}

}

/******************************************************************************
********
*
Functionname: SortData

*
*
Function Description:
對讀取出來的文件信息進行排序並將排序結果顯示在屏幕上

*
*
Date:2012/6/21

*

*******************************************************************************
*******/

void SortData(tagMap_t s[])
{

int

i=0 , k=0 , j=0 , m=0 , n=7;

//i k
為循環控制變數

n
記錄
linkid
的長度

m
標記成功排序的個數

char temp[50];

printf("\n\n\t\t\t
排序中…………請等待
!
…………
\n\n\t\t
排序完成後將自動按
LinkID
編號由小到大顯示所有道路信息
\n\n");

for(n=8; n<13; n++)

{

for(i=0; i<(nsizecount-2); i++)

{

if((int)strlen(s[i].linkid) == n)

//
判斷
linkid
的長度是否為
n

{

k=i;

//
記錄

Linkid
長度為
n


數組
s
的下標
i

j=i;

//
記錄

Linkid
長度為
n


數組
s
的下標
i

for(k=k+1; k<(nsizecount-2); k++)

//
繼續進行下一次循


{

if((int)strlen(s[k].linkid) == n)
//
判斷
linkid
的長度
是否為
n

{

if(strcmp(s[i].linkid , s[k].linkid)>0)
//
比較
linkid
的長度同為
n
時它們的大小

{

i=k;

//






索到最小
linkid

s
數組的下標

}

}

}

strcpy(ss[m].linkid , s[i].linkid);

//
此時最小
linkid

數組
s
的信息存放到
ss
數組中

strcpy(ss[m].flag , s[i].flag);

//
此時最小
linkid

數組
s
的信息存放到
ss
數組中

strcpy(ss[m].brunch , s[i].brunch);
//
此時最小
linkid

數組
s
的信息存放到
ss
數組中

strcpy(ss[m].dispclass , s[i].dispclass);
//
此時最小
linkid

數組
s
的信息存放到
ss
數組中

strcpy(ss[m].Roadname , s[i].Roadname);

//




linkid
把數組
s
的信息存放到
ss
數組中

strcpy(temp , s[j].linkid);

//


s[i]

s[j]

linkid
的信息

strcpy(s[j].linkid , s[i].linkid);

strcpy(s[i].linkid , temp);

strcpy(temp , s[j].flag);

//
交換
s[i]

s[j]

flag
的信息

strcpy(s[j].flag , s[i].flag);

strcpy(s[i].flag , temp);

strcpy(temp , s[j].brunch);

//
交換
s[i]

s[j]

brunch
的信息

strcpy(s[j].brunch , s[i].brunch);

strcpy(s[i].brunch , temp);

strcpy(temp , s[j].dispclass);

//


s[i]

s[j]

dispclass
的信息

strcpy(s[j].dispclass , s[i].dispclass);

strcpy(s[i].dispclass , temp);

strcpy(temp , s[j].Roadname);

//
交換
s[i]

s[j]

Roadname
的信息

strcpy(s[j].Roadname , s[i].Roadname);

strcpy(s[i].Roadname , temp);

m++;

//




序成功道路信息的個數

i=j;

if(m%830
==
0)

//
排序進度提示符

.
的輸出控制

830
時剛好輸出

1


.
且進度剛好
100%

{

printf(".");

}

if(m%100==0) //
控制百分數輸出

{

if(((float)m/(nsizecount-2))*100<10)

{

printf("%.1f%%%\b\b\b\b"
,
((float)m/(nsizecount-2))*100);

}

else if (((float)m/(nsizecount-2))*100>=10)

{

printf("%.1f%%%\b\b\b\b\b"
,
((float)m/(nsizecount-2))*100);

}

}

}

}

}

system("cls");

for(i=0;i<m;i++)

{

printf("

%s

%s

%s

%s

%s

\n"
,
ss[i].linkid
,
ss[i].flag
,
ss[i].brunch
,
ss[i].dispclass , ss[i].Roadname);

}

printf("\n\n\t\t
排序成功
-----

LinkID
編號由小到大顯示完成
\n\n");

ma_interf();

//
排序完成

返回主界面

}

/******************************************************************************

********
*
Functionname:Update

*
*
Function Description:
對數據進行更新,並將更新後的結果存入新的文件中

*
*
Date:2012/6/22

*

*******************************************************************************
*******/

void Update (tagMap_t s[])
{

FILE *pp;

//
定義文件指針

用來創建新的
newfile
文件

char pc[60];

int i=0;

//
循環控制變數

if((pp=fopen("e:\\newfile.txt " , "w")) == NULL)

//
判斷穿件文件是否成功

{

printf("
更新文件創建失敗……
");

exit(0);

}

for(i=0; i<(nsizecount-2); i++)

{

fprintf(pp , "#\t");

fprintf(pp , "%s\t" , ss[i].linkid);

//
文件信息寫入
newfile
文件中

fprintf(pp , "%s\t" , ss[i].flag);

//
文件信息寫入
newfile
文件中

fprintf(pp , "%s\t" , ss[i].brunch);

//
文件信息寫入
newfile
文件中

fprintf(pp , "%s\t" , ss[i].dispclass);

//
文件信息寫入
newfile
文件中

fprintf(pp , "%s\t" , ss[i].Roadname);

//
文件信息寫入
newfile
文件中

fprintf(pp , "#");

fprintf(pp , "\n");

}

fclose(pp);

//
關閉文件指針
pp

if((pp=fopen("e:\\newfile.txt" , "r")) == NULL)

//
打開文件

newfile

為更新文件提
供數據

{

printf("the newfile open fail\n");

exit(0);

}

FILE *ppp;

//
文件指針

用來創建
update
文件

if((ppp=fopen("e:\\update.dat" , "wb")) == NULL)

//
判斷文件創建是否成功

{

printf("
更新文件創建失敗
\n");

exit(0);

}

system("cls");

printf("\n\n\t\t\t\t
文件更新中……
\n");

//
給出提示信息

for(i=0; i<(nsizecount-2); i++)

{

fread(pc , 56 , 1 , pp);

//newfile
文件信息寫入

pc
數組中

fwrite(pc , 56 , 1 , ppp);

//
數組
pc
的信息寫入
update
二進制
文件中

}

printf("\n\n\t\t\t\t
文件更新成功
\n\n\n\t\t\t
更新文件存放在
update.dat
文件中
\n\n\n");

ma_interf();

//
返回主界面

}

void main()
{

ma_interf();

//
進入主界面

}

④ 如何用C語言製作學校地圖

因為所有的圖像處理軟體(例如:制圖軟體等),都需要涉及到:數據結構、計算機圖形學的理論知識、以及相關的數學模型。

故如果想用 C 語言實現製作整個學校地圖的功能,那麼肯定不是簡單地使用 C 語言的本身語句、以及語法就能夠完成的。還必須要學習計算機軟體專業的其他相關的數學課程、以及計算機軟體專業的一些專業課程(例如:計算機圖形學就是必不可少的課程)。

⑤ 求一個用c++編寫的地圖軟體源程序,可是實現放大縮小,查詢等簡單功能就可以,好的我可以加分

在插件管理器里找一下DevExpress,讓他不載入。當時我用DevExpress也很卡的。unLoad掉好多了。unload的時候好像有個選項來著,是不用每次unload.始終不載入。有2年沒用了,忘了怎麼設置的。要不你就卸載了得了。用的時候再裝。最好找個破解版的。要不每次程序啟動起來,都有要注冊的提示,麻煩死了。

⑥ 求助:VC++(MFC) 實現地圖圖形放大縮小及矩形放大的演算法

很簡單,你應該知道坐標映射吧,調整坐標就可以實現。

⑦ 如何用c 語言編寫學校地圖程序

dos下的c?要費好大工夫的……你最好問清楚老師是否允許用vc++。矢量圖型雖然是最理想的,不過實在麻煩,建議還是用點陣圖吧,足夠滿足lz的需要了,最主要是運算簡單。放大縮小的功能網上一抓一大把。尋找最短距離是難點,樓上說得對,必須有一定的數據結構知識,最起碼,你需要自己建立一個地圖-距離的關聯方式。

通過單純的圖像處理,也可以做到最短距離查詢。這是一個偷懶的辦法,如果你的地圖建立得很好,我是指有明確的路徑規則,那麼你可以不考慮數據結構的問題,直接在圖形上面尋路了。

你們的題目真帶勁……

以上。
汗顏的老狼

⑧ c#窗體如何將百度地圖插入到窗體裡面,而且可以放大和縮小,相當於靜態的放在窗體裡面,我不需要聯網!

在窗體中添加contextMenuStrip,添加「放大""縮小",雙擊然後寫代碼
private void 放大ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Size= new Size((int)(this.Width*1.2),(int)(this.Height*1.2));
}
然後再窗體屬性中設置contextMenuStrip為contextMenuStrip1,使之與窗體相關聯。在窗體里添加一個picturebox,然後再image中添加入圖片,然後將StretchImage屬性設置為StretchImage,使圖片適應控制項大小,將Dock設置為fill。這樣當你右擊窗體的時候就能選擇放大還是縮小圖片。差不多就這樣。

⑨ 用C語言怎麼編寫游戲地圖,求詳解

可以說個簡單點的,就是用數組,然後在每個位置進行前後左右判斷,0可過1不可過,即可寫個類似迷宮的小程序!我覺得還有用鏈表來實現的!

⑩ C語言如何顯示一塊局部地圖圖片

我使用mfc的話,將這個圖放入內存,然後獲得這個圖的需要部分,作為一個新的圖在內存中,大致的思路應該是這樣吧,至於純c,可能要自己寫圖片的相關操作函數,解碼,獲取需要部分的數據。