为什么我的线条没有出现在地图上?

时间:2015-05-12 03:49:03

标签: javascript google-maps-api-3

我在使用Google Maps JavaScript API时遇到问题。基本上,我想画一条折线而不是初始化函数中的代码,所以我现在拥有的是:

function initialize() {
            var mapOptions = {
                center: new google.maps.LatLng(1.37, 103.814),
                zoom: 11
            };
            var map = new google.maps.Map(document.getElementById('map-canvas'),
                mapOptions);
        }

        function test() {
            var itwCoordinates = [
                new google.maps.LatLng(1.1955, 103.566667),
                new google.maps.LatLng(1.19875, 103.572333),
                new google.maps.LatLng(1.188167, 103.660694),
                new google.maps.LatLng(1.179444, 103.670722),
                new google.maps.LatLng(1.130361, 103.740694),
                new google.maps.LatLng(1.171444, 103.805),
                new google.maps.LatLng(1.195972, 103.859833),
                new google.maps.LatLng(1.20725, 103.88075),
                new google.maps.LatLng(1.2695, 104.033333)
            ];
            var itwLine = new google.maps.Polyline({
                path: itwCoordinates,
                map: map,
                geodesic: true,
                strokeColor: '#777777',
                strokeOpacity: 1.0,
                strokeWeight: 1
            });
            itwLine.setMap(map);
            itwLine.setVisible(true);
        }
        google.maps.event.addDomListener(window, 'load', initialize);

我在文档本身上有一个按钮,在单击它时将调用函数test(),但它似乎不起作用。我做错了什么?

一般来说,我想问的是如何在地图上绘制形状而不在初始化函数中包含数据?

1 个答案:

答案 0 :(得分:0)

您缺少商店地图,声明地图是全局变量,

   var map;
    function initialize() {
          var mapOptions = {
               center: new google.maps.LatLng(1.37, 103.814),
               zoom: 11
          };
          map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
    }