栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

howto:从Google Maps上的JSON动态更新标记

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

howto:从Google Maps上的JSON动态更新标记

我建议使用setInterval而不是setTimeout。

这是一些代码,使用您提供的JSON并通过为每个标记添加必需的“
description”成员,在小提琴中通过JSON模拟更新:

var map = null;var gmarkers = [];var intervalNumber = 0;setInterval(function () {    new Request.JSON({        url: '/echo/json/',        data: { json: JSON.enpre([{     "lat": 35.6606376 + (0.01 * intervalNumber),         "lng": -80.5048653 + (0.1 * intervalNumber),         "content": "bca",     "description":"first marker" }, {     "lat": 42.6799504 + (0.01 * intervalNumber),         "lng": -36.4949205 - (0.1 * intervalNumber),         "content": "abc",     "description": "second marker" }]), delay: 3        },        onSuccess: function (response) { update_map(response); intervalNumber++;        }    }).send();}, 5000);update_map = function (data) {    var bounds = new google.maps.LatLngBounds();    // delete all existing markers first    for (var i = 0; i < gmarkers.length; i++) {        gmarkers[i].setMap(null);    }    gmarkers = [];    // add new markers from the JSON data    for (var i = 0, length = data.length; i < length; i++) {        latLng = new google.maps.LatLng(data[i].lat, data[i].lng);        bounds.extend(latLng);        var marker = new google.maps.Marker({ position: latLng, map: map, title: data[i].title        });        var infoWindow = new google.maps.InfoWindow();        google.maps.event.addListener(marker, "click", function (e) { infoWindow.setContent(data.description+"<br>"+marker.getPosition().toUrlValue(6)); infoWindow.open(map, marker);        });        (function (marker, data) { google.maps.event.addListener(marker, "click", function (e) {     infoWindow.setContent(data.description+"<br>"+marker.getPosition().toUrlValue(6));     infoWindow.open(map, marker); });        })(marker, data[i]);        gmarkers.push(marker);    }    // zoom the map to show all the markers, may not be desirable.    map.fitBounds(bounds);};function initialize() {    // initialize the map on page load.    var mapOptions = {        center: new google.maps.LatLng(35.66, -80.50),        zoom: 8,        mapTypeId: google.maps.MapTypeId.ROADMAP    };    map = new google.maps.Map(document.getElementById("map-canvas"),    mapOptions);    // add the markers to the map if they have been loaded already.    if (gmarkers.length > 0) {        for (var i = 0; i < gmarkers.length; i++) { gmarkers[i].setMap(map);        }    }}google.maps.event.addDomListener(window, 'load', initialize);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/401762.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号