从一个点获得提升

时间:2013-02-21 09:35:48

标签: javascript google-maps-api-3 spatial

我使用javascript连接到谷歌地图api v3,我有以下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);

                   }

                }

            });

        }
    }

1 个答案:

答案 0 :(得分:1)

  1. 方法的名称是
    elevator.getElevationForLocations
    //------------------------------^
  2. 一个错字:
    google.maps.ElevationStauts
    //----------------------^^
  3. positionalRequest.location必须是google.maps.LatLng - 对象的数组
    var location = new google.maps.LatLng(14.5084692510445, 35.8988013191481);