为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 google map javascript 上为不同的用户创建不同的路线

如何在 google map javascript 上为不同的用户创建不同的路线

慕哥6287543 2022-07-06 18:59:03
我想在谷歌地图中为不同的用户绘制不同的路线,但就我而言,它只显示最后一条。代码如下:我是谷歌地图的新手。很抱歉这个错误。function initMap() {    var map = new google.maps.Map(document.getElementById('map'), {        zoom: 8,        center: {lat: 48.8566, lng: 2.3522},        scrollwheel: true    });}function getUserData() {            var obj = [{"email_id":"user1","latlong":[{"lat":48.834159,"lng":2.333102}, {"lat":48.834611,"lng":2.337048},{"lat": 48.836306,"lng": 2.337820}]},{"email_id": "user2",latlong: [{"lat": 48.833538,"lng": 2.331625},{"lat": 48.828848,"lng": 2.327507},{"lat": 48.831899,"lng": 2.325191}]}]            for (i in obj) {        var temp1 = JSON.stringify(obj[i]);        var obj1 = JSON.parse(temp1);         var temp2 = JSON.stringify(obj1.latlong);        var path = JSON.parse(temp2);        rederGoogleMap(obj1, path);    }    function rederGoogleMap(obj1, path){            var marker;                 var map = new google.maps.Map(document.getElementById('map'), {            zoom : 16,            center : path[path.length - 1],            mapTypeId: google.maps.MapTypeId.ROADMAP,            scrollwheel: true        });        var infowindow = new google.maps.InfoWindow();        /***** create marker for starting position *****/        marker = new google.maps.Marker({            position: path[0],            map: map,            title: 'Start'        });        google.maps.event.addListener(marker, 'click', (function (marker, k) {            return function () {                infowindow.setContent(obj1.email_id);                infowindow.open(map, marker);            }        })(marker));        /***** create marker for ending position *****/        marker = new google.maps.Marker({            position: path[path.length - 1],            map: map,            title: 'End'        });它仅显示最后一条路线,即 user2 的路线。它删除了第一条路线。但是想为不同的用户显示两条路线。我该怎么做。请帮助任何人。
查看完整描述

1 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

在函数中rederGoogleMap,您每次都创建一个新对象 =>

var map = new google.maps.Map(document.getElementById('map'), { ...}

是你的错吗?

您需要new google.maps.Map在全局中创建或传入参数。


查看完整回答
反对 回复 2022-07-06
  • 1 回答
  • 0 关注
  • 119 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号