• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    html5指南-7.geolocation结合google maps开发一个小的应用
    今天我们将把html5的geolocation结合google maps开发一个小的应用。google maps的api地址:https://developers.google.com/maps/documentation/javascript/?hl=zh-CN。
    调用google maps,实现需要添加js引用<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>,其中sensor参数的具体含义:
    要使用 Google Maps API,您需要指明自己的应用程序在任何 Maps API 库或服务请求中是否是使用传感器(如 GPS 定位器)来确定用户所处位置的。这对移动设备尤为重要。如果您的 Google Maps API 应用程序使用任何形式的传感器确定访问您的应用程序的设备的位置,那么您必须通过将 sensor 参数值设置为 true 以声明这一点。
    html部分比较简单,只需要准备一个div就可

    复制代码
    代码如下:

    <body>
    <div id="map">
    </div>
    </body>

    js代码的框架如下

    复制代码
    代码如下:

    <script type="text/javascript">
    var map;
    var browserSupport = false;
    var attempts = 0;
    $(document).ready(function () {
    //初始化地图
        InitMap();
    //定位
    getLocation();
        //定位跟踪
    watchLocation();
    });
    function InitMap() {
    /* Set all of the options for the map */
    var options = {
    };
    /* Create a new Map for the application */
    map = new google.maps.Map($('#map')[0], options);
    }
    /*
    * If the W3C Geolocation object is available then get the current
    * location, otherwise report the problem
    */
    function getLocation() {
    }
    function watchLocation() {
    }
    /* Plot the location on the map and zoom to it */
    function plotLocation(position) {
    }
    /* Report any errors using this function */
    function reportProblem(e) {
    }
    </script>

    InitMap方法就是调用google maps api初始化地图,他需要设置options对象,在调用地图初始化的时候使用。

    复制代码
    代码如下:

    function InitMap() {
    /* Set all of the options for the map */
    var options = {
    zoom: 4,
    center: new google.maps.LatLng(38.6201, -90.2003),
    mapTypeId: google.maps.MapTypeId.ROADMAP,
    mapTypeControl: true,
    mapTypeControlOptions: {
    style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR,
    position: google.maps.ControlPosition.BOTTOM_CENTER
    },
    panControl: true,
    panControlOptions: {
    position: google.maps.ControlPosition.TOP_RIGHT
    },
    zoomControl: true,
    zoomControlOptions: {
    style: google.maps.ZoomControlStyle.LARGE,
    position: google.maps.ControlPosition.LEFT_CENTER
    },
    scaleControl: true,
    scaleControlOptions: {
    position: google.maps.ControlPosition.BOTTOM_LEFT
    },
    streetViewControl: true,
    streetViewControlOptions: {
    position: google.maps.ControlPosition.LEFT_TOP
    }
    };
    /* Create a new Map for the application */
    map = new google.maps.Map($('#map')[0], options);
    }

    getLocation和watchLocation方法获取定位信息。

    复制代码
    代码如下:

    function getLocation() {
    /* Check if the browser supports the W3C Geolocation API */
    if (navigator.geolocation) {
    browserSupport = true;
    navigator.geolocation.getCurrentPosition(plotLocation, reportProblem, { timeout: 45000 });
    } else {
    reportProblem();
    }
    }
    function watchLocation() {
    /* Check if the browser supports the W3C Geolocation API */
    if (navigator.geolocation) {
    browserSupport = true;
    navigator.geolocation.watchPosition(plotLocation, reportProblem, { timeout: 45000 });
    } else {
    reportProblem();
    }
    }

    成功获取位置信息后,调用plotLocation方法把位置显示在google maps上。

    复制代码
    代码如下:

    function plotLocation(position) {
    attempts = 0;
    var point = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
    var marker = new google.maps.Marker({
    position: point
    });
    marker.setMap(map);
    map.setCenter(point);
    map.setZoom(15);
    }

    demo下载地址:googleMapGeolocation.rar
    上一篇:在html5的Canvas上绘制椭圆的几种方法总结
    下一篇:html5指南-6.如何创建离线web应用程序实现离线访问
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    html5指南-7.geolocation结合google maps开发一个小的应用 html5,指南,-7.geolocation,结合,