① 想用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,可能要自己写图片的相关操作函数,解码,获取需要部分的数据。