電子地圖源碼
① 如何用C語言實現電子地圖的源代碼
用C語言?很困難的。 追問: 那能寫出來么?? 回答: 要看你是寫什麼樣的地圖,需要有什麼功能等等。
② 電子地圖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();
//
進入主界面
}
③ iOS百度地圖 源碼分享
網路地圖集成 ,劃線定位 ,修改地圖圖標時時劃線 ,源碼分享 話不多說直接源碼。
注意:導入 sdk,如有方法報錯 注意inforplist 和 viewcontroller.mm
1.AppDelegate 添加頭文件 定義屬性
2.didFinishLaunchingWithOptions 方法里添加
viewController里添加
個人總結 依據網路地圖官方文檔所做。
④ c++做電子地圖,求助
那我給您點建議吧。
首先,你需要做需求分析。地圖的數據是相當龐大的數據系統,這需要做大量的錄入工作,當然,你也可以問某些公司購買,但是這個價格不菲。這個需要很龐大的實力才能完成。
然後,現在的電子地圖並無很大的開發價值。B/S結構的電子地圖是主流,全球有Google Map,中國也有類似的51Map,你登陸city8,你甚至可以看到全真3D地圖,可以說,再開發新的電子地圖沒有利用價值。
最後,為了練習編程,可以開發小型地圖。我建議你用Java開發,因為中國很少有人用solaris,你開發的程序,當然希望與別人分享的吧,所以,用Java開發。
開發的步驟:
1:設計地圖數據的存儲結構,也就是資料庫的結構設計
2:如果您是把圖片數據存儲起來,那好辦,你只要為每張圖片制定具體的方位(用經度緯度表示,2維數組),到時候,顯示出來就可以了。Java中,顯示圖片的控制項很多,具體的,需要學習Java的Swing。把各個小圖片根據方位有序組織起來,就可以組成一張地圖。
如果對您有幫助,請記得採納為滿意答案,謝謝!祝您生活愉快!
⑤ 怎麼做電子地圖,類似百度的那種最好有實例+代碼的鏈接
問答引流是人人可以提問回答而且沒有等級限制的,不過要做引流要求比較嚴格,幾乎接近於苛刻。zuowendaQ⒐375837⒉⒉
⑥ 求一個android 百度地圖的源碼,可以實現點擊獲取經緯度,並保存在資料庫裡面。在點擊按鈕顯示經緯度。
我剛剛在csdn上傳了一個,可以獲取當前自己位置的經緯度。你說的這個好麻煩,要根據屏幕大小和地圖縮放比例獲得點,然後再轉化,想想就頭疼
⑦ 求網站在線生成地圖源碼
如果你網站需求 建議你用SiteMap製作工具
如果開發目前沒有這方面的資源
⑧ 基於QT的電子地圖設計與實現的源代碼。我是個qt初學者,請哪位大哥幫幫我,我先謝謝了!
哇塞,源代碼,QGIS咋樣,很大很大哦,要得話我發給你,其實網上能下到的