我用的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&amp;v=2&amp;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两个变量不能传输到谷歌地图上显示?

解决方案 »

  1.   

    用sprinf把你变量的值打到url参数中,还要确认google地图的后台是怎么解析参数的,js代码只是操作返回到客户端后的html元素,你把三者混为一堂了,风牛马不相及的事啊,还是先了解下Web应用程序是怎么工作的吧
      

  2.   

    m_myweb.Navigate("C:\\Documents and Settings\\Administrator\\桌面\\TestPro\\externTest\\js函数\\map.html",0,0,0,0);
    ...
    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>
    我的方法你看看
      

  3.   

    可以去我的博客中看 《VC操作JS函数那个》