zoukankan      html  css  js  c++  java
  • 在Google map图上做标记,并把标记相连接

      1 <!DOCTYPE html>
      2 <html>
      3 <head>
      4 <title>GeoLocation</title>
      5 <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
      6 <meta charset="utf-8">
      7 <style>
      8     html, body, #map-canvas {
      9         margin: 0;
     10         padding: 0;
     11         height: 100%;
     12     }
     13 </style>
     14 <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
     15 <script>
     16     var map;
     17     var poly;
     18     function initialize() {
     19     var myLatlng = new google.maps.LatLng(31.1937077, 121.4158436);
     20     var locations = [
     21     ['test1, accuracy: 150m', 31.1937077, 121.4158436, 100],
     22     ['test2, accuracy: 150m', 31.2937077, 121.4158436, 100],
     23     ['test3, accuracy: 150m', 31.0937077, 121.2158436, 100],
     24     ['test4, accuracy: 150m', 31.3937077, 120.4158436, 100],
     25     ['test5, accuracy: 150m', 31.1637077, 120.4858436, 100],
     26     ['test6, accuracy: 150m', 31.1037077, 121.5158436, 100]
     27     ];
     28     var mapOptions = {
     29     zoom: 13,
     30     center: myLatlng,
     31     mapTypeId: google.maps.MapTypeId.ROADMAP
     32     };
     33     map = new google.maps.Map(document.getElementById('map-canvas'),
     34     mapOptions);
     35     // 线条设置
     36     var polyOptions = {
     37     strokeColor: '#00ff00',    // 颜色
     38     strokeOpacity: 1.0,    // 透明度
     39     strokeWeight: 4    // 宽度
     40     }
     41     poly = new google.maps.Polyline(polyOptions);
     42     poly.setMap(map);    // 装载
     43     /* 循环标出所有坐标 */
     44     /*for(var i=0; i<locations.length; i++){
     45     var loc = [];
     46     loc.push(locations[i][1]);
     47     loc.push(locations[i][2]);
     48         var path = poly.getPath();    //获取线条的坐标
     49         path.push(new google.maps.LatLng(loc[0], loc[1]));    //为线条添加标记坐标
     50     //生成标记图标
     51     marker = new google.maps.Marker({
     52         position: new google.maps.LatLng(loc[0], loc[1]),
     53         map: map
     54         // icon: "https://maps.gstatic.com/mapfiles/markers/marker_green.png"
     55     });
     56     }*/
     57     var marker, i, circle;
     58     var iwarray = [];
     59     var infoWindow;
     60     var latlngbounds = new google.maps.LatLngBounds();
     61     var iconYellow = new google.maps.MarkerImage("http://maps.google.com/mapfiles/ms/icons/yellow-dot.png");
     62     for (i = 0; i < locations.length; i++) {
     63         var loc = [];
     64         loc.push(locations[i][1]);
     65         loc.push(locations[i][2]);
     66             var path = poly.getPath();    //获取线条的坐标
     67         path.push(new google.maps.LatLng(loc[0], loc[1]));
     68         var latlng = new google.maps.LatLng(locations[i][1], locations[i][2]);
     69         latlngbounds.extend(latlng);
     70     if (locations[i][0].indexOf("[Cached") == 0 || (locations[i][0].indexOf("[Multiple") == 0 && locations[i][0].indexOf("[Cached") >= 0 )) {
     71             marker = new google.maps.Marker({
     72                 position: latlng,
     73                 map: map,
     74                 icon: iconYellow
     75             });
     76             var iw = '<div style="font-size: 12px;word-wrap:break-word;word-break:break-all;"><strong><font color="#FF0000">' + locations[i][0] + '<font></strong><div>';
     77         } else {
     78             marker = new google.maps.Marker({
     79                 position: latlng,
     80                 map: map
     81             });
     82             var iw = '<div style="font-size: 12px;word-wrap:break-word;word-break:break-all;"><strong><font color="#000000">' + locations[i][0] + '<font></strong><div>';
     83         }
     84         iwarray[i] = iw;
     85         google.maps.event.addListener(marker, 'mouseover', (function(marker,i){
     86                 return function(){
     87                     infoWindow = new google.maps.InfoWindow({
     88                         content: iwarray[i],
     89                         maxWidth: 200,
     90                         pixelOffset: new google.maps.Size(0, 0)
     91                     });
     92                     infoWindow.open(map, marker);
     93                 }
     94             })(marker,i));
     95         google.maps.event.addListener(marker, 'mouseout', function() {
     96             infoWindow.close();
     97         });
     98         circle = new google.maps.Circle({
     99             map: map,
    100             radius: locations[i][3],
    101             fillColor: '#0000AA',
    102             fillOpacity: 0.01,
    103             strokeWeight: 1,
    104             strokeColor: '#0000CC',
    105             strokeOpacity: 0.8
    106         });
    107         circle.bindTo('center', marker, 'position');
    108     }
    109     map.fitBounds(latlngbounds);
    110     var listener = google.maps.event.addListenerOnce(map, "idle", function()
    111         {
    112         var zoomLevel = parseInt(map.getZoom());
    113         if (zoomLevel > 13)
    114             map.setZoom(13);
    115         });
    116     }
    117     google.maps.event.addDomListener(window, 'load', initialize);
    118 </script>
    119 </head>
    120 <body>
    121     <div id="map-canvas"></div>
    122 </body>
    123 </html>
  • 相关阅读:
    LOJ#3212. 「CSP-S 2019」划分
    矩阵乘法
    SSF信息社团4月训练题目整理
    AtCoder Regular Contest 116
    SSF信息社团3月训练题目整理
    Codeforces Round #704 (Div. 2)
    SSF信息社团寒假训练题目整理(三)
    关于 zzt 得 0.8 分这件事
    Luogu P7244 章节划分
    SSF信息社团寒假训练题目整理(二)
  • 原文地址:https://www.cnblogs.com/nancy0324/p/4123534.html
Copyright © 2011-2022 走看看