zoukankan      html  css  js  c++  java
  • Google Maps API 简易教程(三)

    Google Maps Controls

      (1)默认的Controls

       显示标准Google地图时,页面带有默认控件集:

     .Zoom-显示一个滑动条来控制map的Zoom级别

    .Pan-地图上显示的是一个平底碗样的控件,点击4个角平移地图

    .MapType-允许用户在map types(roadmap 和 satallite)之间切换

    .StreetView-显示为一个街景小人图标,可拖拽到地图上某个点来打开街景

    除了以上默认controls,Google还有:

     .Scale-显示地图比例尺

    .Rotate-显示一个小的圆周图标,可以转动地图

    .Overview Map-从一个广域的视角俯视地图

    (2)关闭默认Controls

      为了关闭默认Controls,设置地图的disableDefaultUI的属性为true:

     代码如下

      disableDefaultUI:true

    (3)打开所有Controls

     一些controls默认显示在地图上,而其它的不会,除非你设置它们。

     设置control为true使其可见-设置control为false,隐藏它。

      下面的例子打开所有的controls,代码 如下:

    panControl:true,
    zoomControl:true,
    mapTypeControl:true,
    scaleControl:true,
    streetViewControl:true,
    overviewMapControl:true,
    rotateControl:true

    (4)修饰Controls

     某些地图控件是可配置的。通过制定control选项域改变Controls.

     举个例子来说,修饰Zoom control的选项在zoomControlOptions指定。zoomControlOptions包含如下3种选项:

     .google.maps.ZoomControlStyle.SMALL-显示最小化zoom control

     .google.maps.ZoomControlStyle.LARGE-显示标准zoom滑动control

     .google.maps.ZoomControlStyle.DEFAULT-基于设备和地图大小,选择最合适的control

     举例代码如下:

    zoomControl:true,
    zoomControlOptions
    : {
      style
    :google.maps.ZoomControlStyle.SMALL
    }

     备注:如果修饰一个control,首先开启control(设置其为true)。

    (5)通用controls

     下面的例子,就是创建一个通用control,点击它时,总能够返回到中心地点(LONDON),完整代码如下:

    <!DOCTYPE html>
    <html>
    <head>
    <script
    src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false">
    </script>

    <script>
    var map;
    var london = new google.maps.LatLng(51.508742,-0.120850);

    // Add a Home control that returns the user to London
    function HomeControl(controlDiv, map) {
      controlDiv.style.padding = '5px';
      var controlUI = document.createElement('div');
      controlUI.style.backgroundColor = 'yellow';
      controlUI.style.border='1px solid';
      controlUI.style.cursor = 'pointer';
      controlUI.style.textAlign = 'center';
      controlUI.title = 'Set map to London';
      controlDiv.appendChild(controlUI);
      var controlText = document.createElement('div');
      controlText.style.fontFamily='Arial,sans-serif';
      controlText.style.fontSize='12px';
      controlText.style.paddingLeft = '4px';
      controlText.style.paddingRight = '4px';
      controlText.innerHTML = '<b>Home<b>'
      controlUI.appendChild(controlText);

      // Setup click-event listener: simply set the map to London
      google.maps.event.addDomListener(controlUI, 'click', function() {
        map.setCenter(london)
      });
    }

    function initialize() {
      var mapDiv = document.getElementById('googleMap');
      var myOptions = {
        zoom: 12,
        center: london,
        mapTypeId: google.maps.MapTypeId.ROADMAP
      }
      map = new google.maps.Map(mapDiv, myOptions);
      // Create a DIV to hold the control and call HomeControl()
      var homeControlDiv = document.createElement('div');
      var homeControl = new HomeControl(homeControlDiv, map);
    //  homeControlDiv.index = 1;
      map.controls[google.maps.ControlPosition.TOP_RIGHT].push(homeControlDiv);
    }

    google.maps.event.addDomListener(window, 'load', initialize);
    </script>
    </head>

    <body>
    <div id="googleMap" style="500px;height:380px;"></div>
    </body>
    </html>

     运行效果如下图:

     

  • 相关阅读:
    【队列】队列的分类和实现
    【JSP】EL表达式语言
    【JSP】JSP的介绍和基本原理
    【JSP】JSP Action动作标签
    【Servlet】关于RequestDispatcher的原理
    【JSP】JSP指令
    【JSP】JSP中的Java脚本
    【算法】表达式求值--逆波兰算法介绍
    C语言指针详解
    移动架构-MVVM框架
  • 原文地址:https://www.cnblogs.com/williamcai/p/2939803.html
Copyright © 2011-2022 走看看