我用的WEB控件调用了谷歌地图
谷歌地图的JS代码如下
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google-map</title>
<script src="http://ditu.google.cn/maps?file=api&v=2&key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA&hl=zh-CN"
type="text/javascript"></script>
<script type="text/javascript">
//add 2010-03-06
//根据参数名取值
function getParameter(name){
var txt='';
var paramets=getQuery();
//var arrs=paramets.split('%26');
var arrs=paramets.split('AA');
for(var i=0;i<arrs.length;i++){
var _value=arrs[i];
var _arrs=_value.split('=');
if(_arrs[0]==name){
txt= _arrs[1];
break;
}
}
return txt;
}
//取得URL后面的参数
function getQuery(){
var reg = new RegExp("(^|&)?([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r!=null)
return unescape(r[2]);
return "";
}
//add end
function initialize() {
//alert(getParameter('a'));
//alert(getParameter('b'));
if (GBrowserIsCompatible
()) {
var map = new GMap2(document.getElementById("map_canvas"));
//a,b可根据所传参数来设
map.setCenter(new GLatLng(getParameter('a'),getParameter('b')), 14);//动态设经纬坐标
//map.openInfoWindow(map.getCenter(),
// document.createTextNode(""));
map.addControl(new GSmallMapControl());
//var bounds = map.getBounds();
//var southWest = bounds.getSouthWest();
//var northEast = bounds.getNorthEast();
// var lngSpan = northEast.lng() - southWest.lng();
//var latSpan = northEast.lat() - southWest.lat();
// var latlng = new GLatLng(southWest.lat() + latSpan * Math.random(),
// southWest.lng() + lngSpan * Math.random());
//var strlat=window.location.search("lat");
//var strlng=window.location.search;
var latlng = new GLatLng(getParameter('a'),getParameter('b'));//动态设经纬坐标
//var latlng = new GLatLng(strlat,strlng);
map.addOverlay(new GMarker(latlng));
}
}
</script>
</head>
<body onload="initialize()" onunload="GUnload()">
<div id="map_canvas" style="width: 580px; height: 450px"></div>
</body>
</html>然后我VC中使用下列语句
double lat=30.123456;
double lng=120.123456
m_wndWeb.Navigate("D:/My Documents/GPS_receiver/Google-map.htm?a==latAAb==lng", NULL, NULL, NULL, NULL);
请问为什么我赋了值的lat lng两个变量不能传输到谷歌地图上显示?
谷歌地图的JS代码如下
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google-map</title>
<script src="http://ditu.google.cn/maps?file=api&v=2&key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA&hl=zh-CN"
type="text/javascript"></script>
<script type="text/javascript">
//add 2010-03-06
//根据参数名取值
function getParameter(name){
var txt='';
var paramets=getQuery();
//var arrs=paramets.split('%26');
var arrs=paramets.split('AA');
for(var i=0;i<arrs.length;i++){
var _value=arrs[i];
var _arrs=_value.split('=');
if(_arrs[0]==name){
txt= _arrs[1];
break;
}
}
return txt;
}
//取得URL后面的参数
function getQuery(){
var reg = new RegExp("(^|&)?([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r!=null)
return unescape(r[2]);
return "";
}
//add end
function initialize() {
//alert(getParameter('a'));
//alert(getParameter('b'));
if (GBrowserIsCompatible
()) {
var map = new GMap2(document.getElementById("map_canvas"));
//a,b可根据所传参数来设
map.setCenter(new GLatLng(getParameter('a'),getParameter('b')), 14);//动态设经纬坐标
//map.openInfoWindow(map.getCenter(),
// document.createTextNode(""));
map.addControl(new GSmallMapControl());
//var bounds = map.getBounds();
//var southWest = bounds.getSouthWest();
//var northEast = bounds.getNorthEast();
// var lngSpan = northEast.lng() - southWest.lng();
//var latSpan = northEast.lat() - southWest.lat();
// var latlng = new GLatLng(southWest.lat() + latSpan * Math.random(),
// southWest.lng() + lngSpan * Math.random());
//var strlat=window.location.search("lat");
//var strlng=window.location.search;
var latlng = new GLatLng(getParameter('a'),getParameter('b'));//动态设经纬坐标
//var latlng = new GLatLng(strlat,strlng);
map.addOverlay(new GMarker(latlng));
}
}
</script>
</head>
<body onload="initialize()" onunload="GUnload()">
<div id="map_canvas" style="width: 580px; height: 450px"></div>
</body>
</html>然后我VC中使用下列语句
double lat=30.123456;
double lng=120.123456
m_wndWeb.Navigate("D:/My Documents/GPS_receiver/Google-map.htm?a==latAAb==lng", NULL, NULL, NULL, NULL);
请问为什么我赋了值的lat lng两个变量不能传输到谷歌地图上显示?
解决方案 »
- 在ATL中,为什么要把派生类的名字传给基类模版?
- 很困惑的问题--unresolved external symbol---大家来看看
- 高分:怎么开很多线程下载一个文件(文件很大)?
- 属性页中的<上一步><下一步><取消>可否做成XP风格的?
- 请教不能使用vc的帮助文件出错提示:试图使用无效的已编译的帮助文件
- 各位大侠,那位可以给我用c++实现下面的集合类啊?不吝赐教
- 怎样用createthread呀?
- 关于MFC调用OCX后做成windows服务的问题
- 有关使用MFC打开图片显示图片的问题
- RadFile的size参数为什么是DWORD呢?
- 急求http代理服务器使用方法
- 不用CreateRemoteThread函数进行Dll注入时被注入进程崩溃
...
CWebPage web ;
web.SetDocument(m_myweb.GetDocument());
web.CallJScript("map",str_latitude,str_longitude);js:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<script type="text/javascript"
src="js?sensor=true">
</script>
<script type="text/javascript"> //定位
function map(lat,lng) { //经度,纬度
var myLatlng = new google.maps.LatLng(lat,lng);
var myOptions = {
zoom: 20,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map"), myOptions);
var er = new google.maps.Marker({
position: myLatlng
});
er.setMap(map);
} //控制div大小
function divParameters(height,width){
var div = document.getElementById("map");
div.style.height = height + "px";
div.style.width = width + "px";
}</script>
</head>
<body onload="map(32.035792,118.778540);" style="margin:0;">
<div id="map" style="width:644px; height:719px;"></div>
</body>
</html>
我的方法你看看