• Google map API V3


     本文主要总结Google map API V3使用中最简单也是最常见的一些操作以及相关概念,如果需要更加详细的信息,请直接阅读Google提供的关于map的文档。

    google map api v3文档链接:

    英文版:https://developers.google.com/maps/documentation/javascript/reference

    中文版:https://developers.google.com/maps/documentation/javascript/overlays?hl=zh-CN

    1、在页面中加入Google Map服务

      src="https://maps.google.com/maps/api/js?sensor=false">

    其中sensor参数用于指明此应用程序是否使用传感器确定用户的位置,取值为true或false。

    2、加载Google Map API

     function initialize() {

            var myLatlng = new google.maps.LatLng(39.9629, 116.3581);

            var myOptions = {

                zoom: 16,

                center: myLatlng,

                mapTypeId: google.maps.MapTypeId.ROADMAP

            }

            map = new google.maps.Map(document.getElementByIdx_x("map_canvas"), myOptions);

    }

    google.maps.event.addDomListener(window, "load", initialize);

    最后一句话是打开浏览器加载地图。

    3、向地图中添加marker

     function initialize() {

            var myLatlng = new google.maps.LatLng(39.9629, 116.3581);

            var myOptions = {

                zoom: 16,

                center: myLatlng,

                mapTypeId: google.maps.MapTypeId.ROADMAP

            }

            map = new google.maps.Map(document.getElementByIdx_x("map_canvas"), myOptions);

            var image='Image/webcam.png';

            var marker1 = new google.maps.Marker({

       position: lamyLatlngtlng[j],

                map: map,

                icon:image,

                title:'hello,world!'

             })

    }

    每个标记都是一个google.maps.Marker对象,在实例化时需要给定一定的配置信息,如标记的位置。

    通过icon可以设定自己想显示的图标,不设置则显示Google map默认的图标。title表示鼠标放到marker

    上要显示的值。

    4、向地图中添加信息窗口infowindow

    function initialize() {

            var myLatlng = new google.maps.LatLng(39.9629, 116.3581);

            var myOptions = {

                zoom: 16,

                center: myLatlng,

                mapTypeId: google.maps.MapTypeId.ROADMAP

            }

            map = new google.maps.Map(document.getElementByIdx_x("map_canvas"), myOptions);

            var image='Image/webcam.png';

            var marker1 = new google.maps.Marker({

       position: lamyLatlngtlng[j],

                map: map,

                icon:image,

                title:'hello,world!'

             })

            var contentString = 'Hello World';

            var infowindow = new google.maps.InfoWindow({

            content: contentString

             });

            google.maps.event.addListener(marker, 'click', function() {

              infowindow.open(map,marker);

             });

    }

    每个信息窗口都是一个google.maps.InfoWindow对象,在实例化时需要给定一定的配置信息,如窗口中的内容,标记的位置。

    其 中需要说明的是,配置信息中的content即可以是html字符串,也可以是一个dom节点。要让一个信息窗口显示出来,我们可以调用它的open方 法,并制定显示在那个Map实例对象中。注意,如果在信息窗口构造时的配置中已经制定了位置(通过position字段),那么直接使用 infoWindow.open( map ),就可以显示在地图的制定位置上。当然,我们也可以将信息窗口的显示绑定在已经在地图中的标记对象中,只需在open的第二个参数中制定标记对象即可 infoWindow.open( map, marker )。

    5、事件绑定

    使用google.maps.event.addListener()方法来进行事件的监听。该方法接受三个参数:一个对象,一个待侦听事件以及一个在指定事件发生时调用的函数。

    (1)监听地图的缩放:

    google.maps.event.addListener(map, 'zoom_changed', function() {

          });

    (2)标记的点击:

    google.maps.event.addListener( marker, 'click', function( event) {

     // 点击事件后要实现的函数;

          });

    (3)监听dom事件:

    google.maps.event.addDomListener(window, 'load', initialize);

    以上的基本功能都是我用到过的,当然Google map API V3的功能远远不止这些,如果还有更高的要求,请直接访问google的官方文档。

    示例:

    <!DOCTYPE html>

    <html>

      <head>

        <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />

        <style type="text/css">

          html { height: 100% }

          body { height: 100%; margin: 0; padding: 0 }

          #map_canvas { height: 100% }

        </style>

        <script type="text/javascript"

          src="http://maps.googleapis.com/maps/api/js?">

        </script>

        <script type="text/javascript">

          function initialize() {

            var mapOptions = {

              center: new google.maps.LatLng(23.154748, 113.337045),

              zoom: 2,

              mapTypeId: google.maps.MapTypeId.ROADMAP

            };

            var map = new google.maps.Map(document.getElementById("map_canvas"),

                mapOptions);

            var marker = new google.maps.Marker({

                position: new google.maps.LatLng(23.154748, 113.337045),

                map: map,

                title:'中国赛宝实验室 工业和信息化部电子第五研究所'            

          });

           //marker.setMap(map);

            var contentString = '中国赛宝实验室 工业和信息化部电子第五研究所';

            var infowindow = new google.maps.InfoWindow({

            content: contentString

             });

            infowindow.open(map,marker);

            google.maps.event.addListener(marker, 'click', function() {

              infowindow.open(map,marker);

             });

          }

        </script>

      </head>

      <body onload="initialize()">

        <div id="map_canvas" style=" 100%; height: 100%"></div>

      </body>

    </html>

  • 相关阅读:
    va_start和va_end使用详解
    Visual Assist X设置
    google 快捷键
    /bin/sh^M: bad interpreter: No such file or directory 异常
    动态链接库的学习(一)
    sprintf函数的用法详解
    错误:在 C99 模式之外使用‘for’循环初始化声明
    VC6.0在win7下显示行号的插件
    错误: 程序中有游离的‘\302’ ‘\240’等
    Linux Shell编程笔记一:相关命令
  • 原文地址:https://www.cnblogs.com/xingmeng/p/3777748.html
Copyright © 2020-2023  润新知