-1

我正在使用连接到 google map api v3 的 javascript,并且我有以下 2 种方法。现在我的目标是从我给出方法的那一点开始,它会弹出那个特定点的高程。

但由于某种原因,它没有给出任何输出。

我在测试结果时使用硬编码点的原因。实际上,最后我将从数据库中获取它。

有什么建议为什么会发生这种情况?

    var elevator;
    var map;

    function InitializeMap() {

        var latlng = new google.maps.LatLng(-34.397, 150.644);
        var myOptions =
            {
                zoom: 8,
                center: latlng,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };

        map = new google.maps.Map(document.getElementById("map"), myOptions);

        elevator = new google.maps.ElevationService();

        google.maps.event.addListener(map, 'click', getElevation);

    }



    function getElevation(event) {

        var locations = [];


        for (var i = 0; i < 1; i++) {

            var location = 'POINT(14.5084692510445, 35.8988013191481)';

            locations.push(location);

            var positionalRequest = { 'locations': locations }

            elevator.getElevationForLocation(positionalRequest, function (results, status) {

                if (status == google.maps.ElevationStauts.OK) {


                    if (results[0]) {

                        alert(results[0].elevation);

                   }

                }

            });

        }
    }
4

1 回答 1

1
  1. 该方法的名称是
    电梯.getElevationForLocation s 
    //------------------^
  2. 一个错字:
    google.maps.ElevationStats // 
    ---------------------^^
  3. positionalRequest.location必须是google.maps.LatLng-objects 数组
    var location = new google.maps.LatLng(14.5084692510445, 35.8988013191481);
于 2013-02-21T09:51:44.033 回答