搜索
bottom↓
回复: 3

这个图是用的什么MAP组件?左上角的放大缩小图标是组件自带的么?

[复制链接]

出0入0汤圆

发表于 2011-4-21 14:39:09 | 显示全部楼层 |阅读模式

(原文件名:截图1303350626.jpg)

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2011-4-21 14:48:57 | 显示全部楼层
这不是google地图吗 javascript脚本

出0入0汤圆

 楼主| 发表于 2011-4-21 14:53:04 | 显示全部楼层
是一个设备网管软件的截图,用VB.net开发的,是google地图么?

出0入0汤圆

 楼主| 发表于 2011-4-21 16:04:49 | 显示全部楼层
转:Google Map API 小小研究---将google map嵌入你的应用程序

    由于项目需求,要综合展示一个城市的地理状况,于是我想到了使用GoogleMap。

    但是GoogleMap只能嵌入网页,用的是Js脚本,怎么能嵌入一个应用程序呢?其实我们可以稍微的变通一下,在程序里放入一个webbrowser,然后在本地建立一个*.html文件,让webbrowser浏览这个页面。这样就能实现在程序中的嵌入,虽然实际上还是将Gmap嵌入网页,但是效果还是不错的。通过在对这个html使用脚本编程,可是实现数据的动态读取,这些都是js网页设计的方面了,主程序通过对将数据写入xml文档的方式和网页交换数据,网页则将xml文件中的内容动态显示出来。

    这样我们就能通过c#,vb.net ,c,c++等实现对googlemap简单的应用程序的嵌入。

    看看效果,还是不错的哦。


(原文件名:e5c476fb22d60d74024f5673.jpg)


    想了解具体的google map API是怎么使用的,还是去看看google对这方面的介绍吧~

这个html的简短代码如下:


<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 地图 </title>
    <script src="http://ditu.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA"
            type="text/javascript"></script>
   
    <script type="text/javascript">
    //<![CDATA[

    function load()
    {
      if (GBrowserIsCompatible())
       {
      
      
       var dataxml;
       // 加载xml文档
        loadXML    = function(xmlFile)
        {
            var xmlDoc;
            if(window.ActiveXObject)
            {
                xmlDoc    = new ActiveXObject('Microsoft.XMLDOM');
                xmlDoc.async    = false;
                xmlDoc.load(xmlFile);
            }
            else if (document.implementation&&document.implementation.createDocument)
            {
                xmlDoc    = document.implementation.createDocument('', '', null);
                xmlDoc.load(xmlFile);
            }
            else
            {
                return null;
            }
            
            return xmlDoc;
        }
        
       function getxmldata( nodenum ,name ) // nodenum:p1,p2,p3.....
                                            // name: w,j,time,tra,tmp...
       {
            var i=0;
            var root=dataxml.childNodes(1);//root="data"
            for ( i=0;i<100;i++)//查询出给定的nodenum
            {
               if (nodenum==root.childNodes(i).name)
                 break;
            }
            var node=root.childNodes(i);
            for (i=0;i<6;i++)//查询出给点的属性name
            {
               if (name==node.childNodes(i).name)
                  return node.childNodes(i).text;
            }
        }
        function loadxml()
        {
           dataxml=loadXML("data.xml");
           if( dataxml==null)
            {
                alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!');
               // window.location.href='/Index.aspx';
            }
        }
        
        
        var map = new GMap2(document.getElementById("map"));
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        //map.setCenter(new GLatLng(31.940546, 118.781133),14);
      
       GEvent.addListener(map, "moveend", function() {
                                      var center = map.getCenter();
                                      document.getElementById("message").innerHTML = center.toString();
                                    });
        map.setCenter(new GLatLng(31.940546, 118.781133),14);
        
        //信息浮窗内容
   function gettabs()
   {
      loadxml();
            var infoTabs =
      [
       new GInfoWindowTab("Traffic",dataxml.childNodes(1).childNodes(0).childNodes(2).text),
       new GInfoWindowTab("CO2",dataxml.childNodes(1).childNodes(0).childNodes(4).text)
      ];
      return infoTabs;
   }
        //在指定点以指定标签创建标记
   function createMarker(point, number)
   {
    var marker = new GMarker(point);
    GEvent.addListener(marker, "click", function() { marker.openInfoWindowTabsHtml(gettabs());});
    return marker;
   }
        
     var point = new GLatLng(31.940546, 118.781133);
     map.addOverlay(createMarker(point, 1234));

     }
    }


    //]]>
    </script>
</head>
<body onload="load()" onunload="GUnload()">
    <div id="map" style="width: 750px; height: 550px"></div>
    <div id="text" >(longitude ,latitude)The middle point </div>
    <div id="message"></div>
</body>
</html>
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 14:21

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表