在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 相关文章推荐
js运动框架_包括图片的淡入淡出效果
May 11 Javascript
页面加载完后自动执行一个方法的js代码
Sep 06 Javascript
JQuery判断radio是否选中并获取选中值的示例代码
Oct 17 Javascript
js面向对象的写法
Feb 19 Javascript
JavaScript中获取纯正的undefined的方法
Mar 06 Javascript
JavaScript实现相册弹窗功能(zepto.js)
Jun 21 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
Oct 28 Javascript
vue.js学习之UI组件开发教程
Jul 03 Javascript
详解使用路由延迟加载 Angular 模块
Oct 12 Javascript
Thinkjs3新手入门之添加一个新的页面
Dec 06 Javascript
Vue + Element UI图片上传控件使用详解
Aug 20 Javascript
Javascript原型链及instanceof原理详解
May 25 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
thinkphp中空模板与空模块的用法实例
2014/11/26 PHP
分享php多功能图片处理类
2016/05/15 PHP
php设计模式之策略模式应用案例详解
2019/06/17 PHP
window.location和document.location的区别分析
2008/12/23 Javascript
jquery打开直接跳到网页最下面、最低端实现代码
2013/04/22 Javascript
JQuery 获取json数据$.getJSON方法的实例代码
2013/08/02 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
2015/10/22 Javascript
Angular2内置指令NgFor和NgIf详解
2016/08/03 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
2017/10/09 Javascript
js实现HTML中Select二级联动的实例
2018/01/05 Javascript
Vue中$refs的用法详解
2018/06/24 Javascript
JS高级技巧(简洁版)
2018/07/29 Javascript
javascript实现页面的实时时钟显示示例
2020/08/06 Javascript
Vue 使用typescript如何优雅的调用swagger API
2020/09/01 Javascript
给Python初学者的一些编程技巧
2015/04/03 Python
python 的列表遍历删除实现代码
2020/04/12 Python
Python作用域用法实例详解
2016/03/15 Python
PyQt5每天必学之切换按钮
2020/08/20 Python
python ChainMap的使用和说明详解
2019/06/11 Python
python使用递归的方式建立二叉树
2019/07/03 Python
Pycharm 2020年最新激活码(亲测有效)
2020/09/18 Python
TensorBoard 计算图的查看方式
2020/02/15 Python
keras 解决加载lstm+crf模型出错的问题
2020/06/10 Python
Python实现自动签到脚本的示例代码
2020/08/19 Python
python基于win32api实现键盘输入
2020/12/09 Python
pycharm配置QtDesigner的超详细方法
2021/01/25 Python
印度尼西亚手表和包包商店:Urban Icon
2019/12/12 全球购物
.NET面试10题
2014/02/24 面试题
大一自我鉴定范文
2013/12/27 职场文书
农场厂长岗位职责
2013/12/28 职场文书
初中校园广播稿
2014/02/02 职场文书
出国留学单位推荐信
2015/03/26 职场文书
2016年会开场白台词
2015/06/01 职场文书
村主任当选感言
2015/08/01 职场文书
离婚协议书范文2016
2016/03/18 职场文书
Python爬虫之爬取某文库文档数据
2021/04/21 Python