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

我想在谷歌地图中为不同的用户绘制不同的路线,但就我而言,它只显示最后一条。代码如下:我是谷歌地图的新手。很抱歉这个错误。


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 的路线。它删除了第一条路线。但是想为不同的用户显示两条路线。我该怎么做。请帮助任何人。


慕哥6287543
浏览 120回答 1
1回答

月关宝盒

在函数中rederGoogleMap,您每次都创建一个新对象 =>var map = new google.maps.Map(document.getElementById('map'), { ...}是你的错吗?您需要new google.maps.Map在全局中创建或传入参数。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java