c# winform 应用timer传参数方式实现在谷歌地图上实时位置

HTML前端脚本

需要调用谷歌地图脚本

    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

Html Body内部写入HTML元素DIV 用于地图容器 全副显示

<body style="margin: 0 0;" οnlοad="javascript:initialize();">
    <div id="map_canvas" style="width: 100%; height: 100%">
    </div>
</body>


JS脚本实现
<script type="text/javascript">


        var map = null;
        var mapOptions = null;
        var marker = null;


        var m1 = ""; m2 = 0; m3 = 0; var markersArray = [];


        function shishi1(m) {
            
            deleteOverlays();
            
            if (map.getZoom() < 10 || map.getZoom() > 13) {
                map.setZoom(10);
            }
            var lat = 0, lon = 0; m1 = ""; time = "";
            var point = m.split("|");
            var myLatlng;
            var infowindow;


            var ltlng = []; man = []; times = [];
            for (var i = 0; i < point.length; i++) {


                lat = point[i].split(",")[0];
                lon = point[i].split(",")[1];
                m1 = point[i].split(",")[2];
                time = point[i].split(",")[3];


                myLatlng = new google.maps.LatLng(lat, lon);
                ltlng.push(new google.maps.LatLng(lat, lon));
                man.push(m1);
                times.push(time);
            }


            for (var i = 0; i <= ltlng.length; i++) {
                var marker = new google.maps.Marker({
                    map: map,
                    position: ltlng[i],
                    title: man[i]
                });
                markersArray.push(marker);
                (function(i, marker) {
                    google.maps.event.addListener(marker, 'click', function() {
                        if (!infowindow) {
                            infowindow = new google.maps.InfoWindow();
                        }
                        infowindow.setContent("<span class='s1'>巡检员昵称</span>:" + man[i] + "<br/><span class='s1'>上次位置时间</span>:" + dateConvert(times[i]));
                        infowindow.open(map, marker);
                    });
                })(i, marker);
            }
            function deleteOverlays() {
                if (markersArray) {
                    for (i in markersArray) {
                        markersArray[i].setMap(null);
                    }
                    markersArray.length = 0;
                }
            }


        }
        function dateConvert(str) {
            var timestr = "20" + str.substr(0, 2) + "-" + str.substr(2, 2) + "-" + str.substr(4, 2) + " " + str.substr(6, 2) + ":" + str.substr(8, 2) + ":" + str.substr(10, 2);
            return str != "" ? jQuery.timeago(timestr) : "";
        }


        function SendSSPoint(m, p0, p1) {
            m1 = m;
            m2 = p0;
            m3 = p1;
            var infowindow;


            var parliament = new google.maps.LatLng(m2, m3);
            map.setZoom(18);
            marker.setPosition(parliament);
            if (OutofRect(parliament)) {
                map.setCenter(parliament);
            }
            google.maps.event.addListener(marker, 'click', function() {
                if (!infowindow) {
                    infowindow = new google.maps.InfoWindow();
                }
                infowindow.setContent("<span class='s1'>巡检员昵称</span>:<img src='Images/peopleHeader.png' width='35px' height='35px' />   " + m1 + "<br/><span class='s1'>当前经纬度</span>:" + m2 + "," + m3);
                infowindow.open(map, marker);
            });
        }
        function OutofRect(parliament) {
            if (map.getBounds().contains(parliament))
                return false;
            else
                return true;
        }
        function initialize() {


            mapOptions = {
                zoom: 18,
                center: new google.maps.LatLng(39.92, 116.46),
                mapTypeId: google.maps.MapTypeId.HYBRID
            };
            map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
            //var image = 'Images/MapMarker_Flag4_Left_Pink.png';  自定义头像图标 需要可以写入Marker ICON属性里
            marker = new google.maps.Marker({
                position: new google.maps.LatLng(39.92, 116.46),
                map: map,
                title: m1
            });
            markersArray.push(marker);
        }
    </script>

C# 后端实现

webBrowser1.Document.InvokeScript("shishi1", p);
p 为parmer[] 对象 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值