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


Posted in Javascript onJanuary 05, 2015

这里仅仅是将谷歌地图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>
Javascript 相关文章推荐
jQuery中setTimeout的几种使用方法小结
Apr 07 Javascript
Bootstrap精简教程
Nov 27 Javascript
js基础之DOM中元素对象的属性方法详解
Oct 28 Javascript
AngularJs验证重复密码的方法(两种)
Nov 25 Javascript
详解vue嵌套路由-params传递参数
May 23 Javascript
JS实现对json对象排序并删除id相同项功能示例
Apr 18 Javascript
vue进入页面时滚动条始终在底部代码实例
Mar 26 Javascript
微信端调取相册和摄像头功能,实现图片上传,并上传到服务器
May 16 Javascript
js常用正则表达式集锦
May 17 Javascript
Bootstrap table 实现树形表格联动选中联动取消功能
Sep 30 Javascript
JavaScript实现电灯开关小案例
Mar 30 Javascript
Vue的自定义组件不能使用click方法的解决
Jul 28 Javascript
js获取时间并实现字符串和时间戳之间的转换
Jan 05 #Javascript
jQuery中attr()方法用法实例
Jan 05 #Javascript
jQuery实现自定义下拉列表
Jan 05 #Javascript
使用javascript实现监控视频播放并打印日志
Jan 05 #Javascript
jQuery圆形统计图开发实例
Jan 04 #Javascript
jQuery中:selected选择器用法实例
Jan 04 #Javascript
jQuery中:checked选择器用法实例
Jan 04 #Javascript
You might like
CodeIgniter中实现泛域名解析
2014/07/19 PHP
常见PHP数据库解决方案分析介绍
2015/09/24 PHP
php 数组字符串搜索array_search技巧
2016/07/05 PHP
Laravel模糊查询区分大小写的实例
2019/09/29 PHP
jQuery 加上最后自己的验证
2009/11/04 Javascript
Javascript图像处理—亮度对比度应用案例
2013/01/03 Javascript
基于jQuery.Validate验证库知识点的详解
2013/04/26 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
2014/02/13 Javascript
jQuery on方法传递参数示例
2014/12/09 Javascript
jQuery实现分隔条左右拖动功能
2015/11/21 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
2015/12/07 Javascript
深入理解JavaScript中的对象复制(Object Clone)
2016/05/18 Javascript
js 转义字符及URI编码详解
2017/02/28 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
2017/08/11 Javascript
H5实现仿flash效果的实现代码
2017/09/29 Javascript
Bootstrap框架建立树形菜单(Tree)的实例代码
2017/10/30 Javascript
Bootstrap table中toolbar新增条件查询及refresh参数使用方法
2018/05/18 Javascript
JS实现统计字符串中字符出现个数及最大个数功能示例
2018/06/04 Javascript
js for终止循环 跳出多层循环
2018/10/04 Javascript
微信小程序request请求封装,验签代码实例
2019/12/04 Javascript
24个解决实际问题的ES6代码片段(小结)
2020/02/02 Javascript
微信小程序自定义顶部组件customHeader的示例代码
2020/06/03 Javascript
Python re模块介绍
2014/11/30 Python
10种检测Python程序运行时间、CPU和内存占用的方法
2015/04/01 Python
Python中文分词实现方法(安装pymmseg)
2016/06/14 Python
python爬虫_微信公众号推送信息爬取的实例
2017/10/23 Python
运用TensorFlow进行简单实现线性回归、梯度下降示例
2018/03/05 Python
python pandas库的安装和创建
2019/01/10 Python
Python遍历文件夹 处理json文件的方法
2019/01/22 Python
使用python matploblib库绘制准确率,损失率折线图
2020/06/16 Python
Html5实现如何在两个div元素之间拖放图像
2013/03/29 HTML / CSS
大学生标准推荐信范文
2013/11/25 职场文书
《云房子》教学反思
2014/04/20 职场文书
十八大观后感
2015/06/12 职场文书
干部考核工作总结
2015/08/12 职场文书
原生JS中应该禁止出现的写法
2021/05/05 Javascript