我想在谷歌地图中为不同的用户绘制不同的路线,但就我而言,它只显示最后一条。代码如下:我是谷歌地图的新手。很抱歉这个错误。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在全局中创建或传入参数。
添加回答
举报
0/150
提交
取消
