我采用的方式比较笨,是直接修改地图的html文件中设定坐标的语句,将坐标值进行修改,保存。再重新打开网页文件。
html文件的源代码如下:
"">
Google map JavaScript API eg: map mark
下面对结果重要的部分进行说明:
1、var map = new GMap2(document.getElementById("map_canvas"));//*
这里的‘*’很重要,因为下面在vc中也是通过定位到‘*’字符,最后成功定位到map.setCenter(new GLatLng(31.0326,113.7972),14);这句话,最后成功修改坐标值项。达到打开定点地图界面的作用。
2、vc中初始化时,地图文件的载入
m_map.Navigate(_T(");
由于事先是将Google-earth.html文件是存放在D盘的根目录下,所以这里的路径这样设置。
3、点击按钮1切换到坐标点1区域
void Cgoogle_mapDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码、
char sRead[3000];
char new_pos[]="30.3323,112.2029";
char s_search1='*';
//读地图文件到缓冲区中
CFile mfile(_T("D:\Google-earth.html"),CFile::modeRead);
if (mfile.GetLength()<2)
{
return;
}
int f_size=mfile.GetLength();
mfile.Read(sRead,f_size);
mfile.Close();
//修改缓冲区中的坐标数据
for(int i=0;i {
if (sRead[i]=='*')
{
m_length=i;
for (int j=0;j<14;j++)
{
sRead[i+37+j]=new_pos[j];
}
}
}
//写地图文件
CFile mfile1(_T("D:\\Google-earth.html"),CFile::modeWrite);
mfile1.Write(sRead,f_size);
mfile1.Flush();
mfile1.Close();
//重新打开地图
m_map.Navigate(_T(");
UpdateData(FALSE);
}
4、点击按钮2,切换到地图坐标点2
void Cgoogle_mapDlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码、
char sRead[10000];
char new_pos[]="31.0326,113.7972";
char s_search1='*';
//读地图文件到缓冲区中
CFile mfile(_T("D:\Google-earth.html"),CFile::modeRead);
if (mfile.GetLength()<2)
{
return;
}
int f_size=mfile.GetLength();
mfile.Read(sRead,f_size);
mfile.Close();
//修改缓冲区中的坐标数据
for(int i=0;i {
if (sRead[i]=='*')
{
m_length=i;
//sRead[i+26+11]='4';
for (int j=0;j<14;j++)
{
sRead[i+37+j]=new_pos[j];
}
}
}
//写地图文件
CFile mfile1(_T("D:\\Google-earth.html"),CFile::modeWrite);
mfile1.Write(sRead,f_size);
mfile1.Flush();
mfile1.Close();
//重新打开地图
m_map.Navigate(_T(");
}
最后关于地图中可选择的一些基本的组件的使用说明:
(1)比例尺组件、
//add bi li chi
var customUI = map.getDefaultUI();
customUI.maptypes.hybrid = true;
map.setUI(customUI);
(2)指定坐标点的标记组件
//add mark point
var point = new GLatLng(31.0326,113.7972);
map.addOverlay(new GMarker(point));
(3)其他嵌入图层(eg:维基百科)
var myLayer = new GLayer("org.wikipedia.en");
map.addOverlay(myLayer);
(4)消息提示框组件
map.openInfoWindow(map.getCenter(),document.createTextNode("gu gong"));
(5)放大缩小组件
map.addControl(new GLargeMapControl());
//map.addControl(new GSmallMapControl());
上面的是两种大小的地图缩放组件,可任选其一。
(6)设置地图的中心点
var map = new GMap2(document.getElementById("map_canvas"));//*
map.setCenter(new GLatLng(31.0326,113.7972),14);
就讲这么多,其他的有待进一步的学习!
效果如如下:
上传exe文件如下:
上传地图文件如下:
下载后,先将后缀名改为7z然后解压。
阅读(9612) | 评论(9) | 转发(0) |