我想在谷歌地圖中為不同的用戶繪制不同的路線,但就我而言,它只顯示最后一條。代碼如下:我是谷歌地圖的新手。很抱歉這個錯誤。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
提交
取消