在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 相关文章推荐
javascript通过class来获取元素实现代码
Feb 20 Javascript
JS 有趣的eval优化输入验证实例代码
Sep 22 Javascript
javascript刷新父页面的各种方法汇总
Sep 03 Javascript
javascript实现仿腾讯游戏选择
May 14 Javascript
JS+CSS实现另类带提示效果的竖向导航菜单
Oct 15 Javascript
Vue.js 表单校验插件
Aug 14 Javascript
JavaScript登录记住密码操作(超简单代码)
Mar 22 Javascript
Bootstrap实现下拉菜单多级联动
Nov 23 Javascript
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
Dec 25 Javascript
一文了解vue-router之hash模式和history模式
May 31 Javascript
JQuery使用属性addClass、removeClass和toggleClass实现增加和删除类操作示例
Nov 18 jQuery
HTML元素拖拽功能实现的完整实例
Dec 04 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
php中使用preg_match_all匹配文章中的图片
2013/02/06 PHP
PHP使用http_build_query()构造URL字符串的方法
2016/04/02 PHP
Javascript操作cookie的函数代码
2012/10/03 Javascript
JavaScript中使用Substring删除字符串最后一个字符
2013/11/03 Javascript
JSONP获取Twitter和Facebook文章数的具体步骤
2014/02/24 Javascript
jQuery实现径向动画菜单效果
2015/07/17 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
2015/09/12 Javascript
详解JavaScript函数对象
2015/11/15 Javascript
动态加载js文件简单示例
2016/04/21 Javascript
基于Bootstrap使用jQuery实现简单可编辑表格
2016/05/04 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
对node.js中render和send的用法详解
2018/05/14 Javascript
element el-input directive数字进行控制
2018/10/11 Javascript
vue实现父子组件之间的通信以及兄弟组件的通信功能示例
2019/01/29 Javascript
Python 深入理解yield
2008/09/06 Python
Python 命令行非阻塞输入的小例子
2013/09/27 Python
分析在Python中何种情况下需要使用断言
2015/04/01 Python
Python中的条件判断语句与循环语句用法小结
2016/03/21 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
2019/01/23 Python
python调用matlab的m自定义函数方法
2019/02/18 Python
python求最大值最小值方法总结
2019/06/25 Python
Python学习笔记之Break和Continue用法分析
2019/08/14 Python
python图形用户接口实例详解
2019/12/16 Python
python自动生成证件号的方法示例
2021/01/14 Python
英国知名的皮手套品牌:Dents
2016/11/13 全球购物
意大利制造的男鞋和女鞋:SCAROSSO
2018/03/07 全球购物
Fresh馥蕾诗英国官网:法国LVMH集团旗下高端天然护肤品牌
2018/11/01 全球购物
应聘护理专业毕业自荐书范文
2014/02/12 职场文书
班干部演讲稿
2014/04/24 职场文书
2014年综治维稳工作总结
2014/11/17 职场文书
2014年副班长工作总结
2014/12/10 职场文书
证券公司客户经理岗位职责
2015/04/09 职场文书
暂停营业通知
2015/04/25 职场文书
李强优秀员工观后感
2015/06/16 职场文书
暑假生活随笔
2015/08/15 职场文书
Android开发手册自定义Switch开关按钮控件
2022/06/10 Java/Android