1 Google bản đồ hướng api với ajax

câu hỏi được tạo ra tại Wed, May 8, 2019 12:00 AM

Tôi đang làm việc trên một trang web nhỏ sử dụng ajax và API bản đồ google để tải chỉ đường. Tôi có một DB lưu trữ thời gian dài của một vài vị trí và khi một vị trí được chọn từ danh sách thả xuống, một cuộc gọi không đồng bộ được thực hiện cho máy chủ và một mảng JSON được trả về. Tôi đang gọi chức năng showPocation của mình mỗi khi cuộc gọi không đồng bộ được thực hiện.

xmlhttp.onreadystatechange = function() {
                if(this.readyState == 4 && this.status == 200) {
                    myObj = JSON.parse(this.responseText);
                    console.log(myObj[0].lat);
                    console.log(this.responseText);
                    showPosition(myObj);
                }
            };

showPocation được cho là hiển thị bản đồ theo chỉ đường.

<script language="JavaScript">
    var mapholder = document.getElementById("mapholder");



    function showPosition(myObj) {
        //Getting all the coorindates
        console.log(myObj);
        fromDirectionLat = myObj[0].lat;
        fromDirectionLong = myObj[0].long;
        toDirectionLat = myObj[1].lat;
        toDirectionLong = myObj[1].long;

        //Setting mapholder style
        mapholder.style.height = '600px';
        mapholder.style.width = '600px';
        mapholder.style.border = 'medium solid #555555';
        var myOptions = {
            center: latlong,
            zoom: 15,
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            mapTypeControl: true,
            navigationControlOptions: {
                style: google.maps.NavigationControlStyle.SMALL
            }
        };


        var directionService = new google.maps.DirectionsService;
        var directionDisplay = new google.maps.DirectionRenderer;
        var map = new google.maps.Map(document.getElementById('mapholder'), myOptions);
        directionDisplay.setMap(map);

        var onChangeHandler = function() {
            displayRoute(directionService, directionDisplay);
        }

        function displayRoute(directionService, directionDisplay) {
            var originF = new google.maps.LatLng(fromDirectionLat, fromDirectionLong);
            var destinationT = new google.maps.LatLng(toDirectionLat, toDirectionLong);
            direcionsService.route({
                origin: originF,
                destination: destinationT,
                travelMode: 'DRIVING'
            },
                function (response, status) {
                if(status == 'OK')
                    directionDisplay.setDirections(response);
                else
                    window.alert("failed");
            }) ;

        }


    }
</script>

Trong bảng điều khiển của tôi, tôi gặp lỗi sau

ReferenceError: latlong is not defined Ajax:93:17
    showPosition http://localhost:8888/Ajax/:93
    onreadystatechange http://localhost:8888/Ajax/:37

Tôi khá bối rối về chính xác những gì đang xảy ra. Tôi khá mới với điều này.

    
- 1
1 Câu trả lời                              1                         

Bạn sử dụng một biến không được xác định ở bất cứ đâu

center: latlong

latlong không tồn tại ở bất kỳ nơi nào khác trong chức năng của bạn. Bạn nên xác định nó ở giữa bản đồ bạn muốn hiển thị

var latlong = new google.maps.LatLng(your_center_lat, your_center_long)

hoặc

center: new google.maps.LatLng(your_center_lat, your_center_long)

Xác định trung tâm là tùy thuộc vào bạn :)

    
0
2019-05-08 15: 52: 48Z
nguồn đặt đây
Những câu hỏi khác