0
  function initialize() {

    var myOptions = {
    center: new google.maps.LatLng(45.652988, 25.611792),
    zoom: 12,
    mapTypeId: google.maps.MapTypeId.SATELLITE
    };

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

    var lines = new google.maps.Polyline({
                strokeColor: '#FF0000',
                strokeOpacity: 0.5,
                strokeWeight: 2,
                editable: true
                });

    nline = function setPolyline(points) {
    var path = lines.getPath();
    path.clear();
    path.push(points);
    lines.setMap(map);
    }

    google.maps.event.addListener(map, 'click', function() {
    var target = document.getElementById("info_panel");
    target.style.display = "none";
    });

    /*
    google.maps.event.addListener(line, 'click', function() {
    alert("you clicked polyline");
    });
    */
  }

SQL データベースから XMLHttpRequest を実行した後、別の関数が setPolyline 関数を呼び出します ("map" および "lines" 変数はローカルのみでグローバルではないため、マップ初期化関数内にあります) 引数として latlng の配列を渡します。

setPolyline 関数はその配列を取得し、ポリラインの (「lines」という名前の) パスをクリアし、latlng 配列をパスにプッシュします。setmap 命令に到達すると、まったく何もできません...

入れ子に問題がありますか?...過去6時間、これを理解しようとしてきたのを助けてください...

4

2 に答える 2

0

lines.setPath(path)どこかに電話していますか?

于 2012-04-16T00:39:57.357 に答える