在Google 地图上实现做的标记相连接

所属分类: 网络编程 / JavaScript 阅读数: 794
收藏 0 赞 0 分享

这里仅仅是将谷歌地图API的使用方法告诉大家,算是抛砖引玉吧,由于某些原因,谷歌已经远离大家了。

复制代码 代码如下:

<!DOCTYPE html>
<html>
<head>
<title>GeoLocation</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<style>
    html, body, #map-canvas {
        margin: 0;
        padding: 0;
        height: 100%;
    }
</style>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
    var map;
    var poly;
    function initialize() {
    var myLatlng = new google.maps.LatLng(31.1937077, 121.4158436);
    var locations = [
    ['test1, accuracy: 150m', 31.1937077, 121.4158436, 100],
    ['test2, accuracy: 150m', 31.2937077, 121.4158436, 100],
    ['test3, accuracy: 150m', 31.0937077, 121.2158436, 100],
    ['test4, accuracy: 150m', 31.3937077, 120.4158436, 100],
    ['test5, accuracy: 150m', 31.1637077, 120.4858436, 100],
    ['test6, accuracy: 150m', 31.1037077, 121.5158436, 100]
    ];
    var mapOptions = {
    zoom: 13,
    center: myLatlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById('map-canvas'),
    mapOptions);
    // 线条设置
    var polyOptions = {
    strokeColor: '#00ff00',    // 颜色
    strokeOpacity: 1.0,    // 透明度
    strokeWeight: 4    // 宽度
    }
    poly = new google.maps.Polyline(polyOptions);
    poly.setMap(map);    // 装载
    /* 循环标出所有坐标 */
    /*for(var i=0; i<locations.length; i++){
    var loc = [];
    loc.push(locations[i][1]);
    loc.push(locations[i][2]);
        var path = poly.getPath();    //获取线条的坐标
        path.push(new google.maps.LatLng(loc[0], loc[1]));    //为线条添加标记坐标
    //生成标记图标
    marker = new google.maps.Marker({
        position: new google.maps.LatLng(loc[0], loc[1]),
        map: map
        // icon: "https://maps.gstatic.com/mapfiles/markers/marker_green.png"
    });
    }*/
    var marker, i, circle;
    var iwarray = [];
    var infoWindow;
    var latlngbounds = new google.maps.LatLngBounds();
    var iconYellow = new google.maps.MarkerImage("http://maps.google.com/mapfiles/ms/icons/yellow-dot.png");
    for (i = 0; i < locations.length; i++) {
        var loc = [];
        loc.push(locations[i][1]);
        loc.push(locations[i][2]);
            var path = poly.getPath();    //获取线条的坐标
        path.push(new google.maps.LatLng(loc[0], loc[1]));
        var latlng = new google.maps.LatLng(locations[i][1], locations[i][2]);
        latlngbounds.extend(latlng);
    if (locations[i][0].indexOf("[Cached") == 0 || (locations[i][0].indexOf("[Multiple") == 0 && locations[i][0].indexOf("[Cached") >= 0 )) {
            marker = new google.maps.Marker({
                position: latlng,
                map: map,
                icon: iconYellow
            });
            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>';
        } else {
            marker = new google.maps.Marker({
                position: latlng,
                map: map
            });
            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>';
        }
        iwarray[i] = iw;
        google.maps.event.addListener(marker, 'mouseover', (function(marker,i){
                return function(){
                    infoWindow = new google.maps.InfoWindow({
                        content: iwarray[i],
                        maxWidth: 200,
                        pixelOffset: new google.maps.Size(0, 0)
                    });
                    infoWindow.open(map, marker);
                }
            })(marker,i));
        google.maps.event.addListener(marker, 'mouseout', function() {
            infoWindow.close();
        });
        circle = new google.maps.Circle({
            map: map,
            radius: locations[i][3],
            fillColor: '#0000AA',
            fillOpacity: 0.01,
            strokeWeight: 1,
            strokeColor: '#0000CC',
            strokeOpacity: 0.8
        });
        circle.bindTo('center', marker, 'position');
    }
    map.fitBounds(latlngbounds);
    var listener = google.maps.event.addListenerOnce(map, "idle", function()
        {
        var zoomLevel = parseInt(map.getZoom());
        if (zoomLevel > 13)
            map.setZoom(13);
        });
    }
    google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
    <div id="map-canvas"></div>
</body>
</html>

更多精彩内容其他人还在看

JS组件Bootstrap Table使用方法详解

这篇文章主要为大家详细介绍了JS组件Bootstrap Table使用方法,具有一定的实用性,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

javascript禁止超链接跳转的方法

这篇文章主要介绍了javascript禁止超链接跳转的方法,结合实例分析了JavaScript事件机制与鼠标事件的响应操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

JavaScript实现的MD5算法完整实例

这篇文章主要介绍了JavaScript实现的MD5算法,以完整实例形式分析了基于JavaScript实现MD5算法的具体步骤与相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Hammer.js+轮播原理实现简洁的滑屏功能

这篇文章主要介绍了Hammer.js+轮播原理实现简洁的滑屏功能的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

基于JQuery实现图片轮播效果(焦点图)

这篇文章主要为大家详细介绍了基于JQuery实现图片轮播效果,利用Jquery制作焦点图左右轮播特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

javascript实现瀑布流加载图片原理

这篇文章主要为大家介绍了javascript实现瀑布流加载图片效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

JavaScript实现的SHA-1加密算法完整实例

这篇文章主要介绍了JavaScript实现的SHA-1加密算法,以完整实例形式分析了SHA-1加密算法的具体实现技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Javascript实现的SHA-256加密算法完整实例

这篇文章主要介绍了Javascript实现的SHA-256加密算法,以完整实例形式分析了JavaScript实现SHA-256加密的具体步骤与相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

原生js实现图片层叠轮播切换效果

这篇文章主要为大家详细介绍了原生js实现图片层叠轮播切换效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

javascript自动切换焦点控制效果完整实例

这篇文章主要介绍了javascript自动切换焦点控制效果的方法,结合完整实例形式分析了JavaScript响应键盘按键控制表单输入框的焦点切换功能,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多