2012-07-30 51 views
1

我想表明與陣列點標記和窗口信息折線(從AJAX頁面)
這是索引頁代碼:谷歌地圖標記,折線和窗口信息從陣列

var gmarkers = []; 
var map = null; 
function initialize() { 
    var myOptions = { 
    zoom: 15, 
    center: new google.maps.LatLng(27.332702, 53.177137), 
    // mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU}, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    } 

    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
    google.maps.event.addListener(map, 'click', function() { 
     infowindow.close(); 
     }); 

} 

var infowindow = new google.maps.InfoWindow(
    { 
    size: new google.maps.Size(150,50) 
    }); 

function myclick(i) { 
    google.maps.event.trigger(gmarkers[i], "click"); 
} 

function createMarker(latlng, name, html) { 
    var contentString = html; 
    var marker = new google.maps.Marker({ 
     position: latlng, 
     map: map, 
     zIndex: Math.round(latlng.lat()*-100000)<<5 
     }); 

    google.maps.event.addListener(marker, 'click', function() { 
     infowindow.setContent(contentString); 
     infowindow.open(map,marker); 
     }); 
    // save the info we need to use later for the side_bar 
    gmarkers.push(marker); 
} 

我的AJAX頁面:

var polylines = []; 

var beaches = [ 
    ['Bondi Beach',10,15, 4], 
    ['Coogee Beach',11,16, 5], 
    ['Cronulla Beach',13,15, 3], 
    ['Manly Beach',13,17, 2], 
    ['Maroubra Beach',12,10, 1] 
]; 

for (var i = 0; i < beaches.length; i++) { 
    var beach = beaches[i]; 
    var myLatLng = new google.maps.LatLng(beach[1], beach[2]); 
    var polylines = new google.maps.LatLng(beach[1], beach[2]); 

    var marker = createMarker(myLatLng,"This place",beach[0]) 
} 

var routes = new google.maps.Polyline({ 
    path: polylines, 
    strokeColor: "#FF0000", 
    strokeOpacity: 0.6, 
    strokeWeight: 4 
}); 

routes.setMap(map); 

房顫我打電話Ajax Page,標記添加窗口信息,但路線折線不顯示,問題在哪裏?

回答

1

我調用Ajax頁面後,標記添加了window-info,但路由折線不顯示,問題在哪裏?

是的。折線是一個數組的位置:

var polylines = []; 

在這裏,您有一個google.maps.LatLng覆蓋它:

var polylines = new google.maps.LatLng(beach[1], beach[2]); 

你可能想這樣做,而不是:

polylines.push(new google.maps.LatLng(beach[1], beach[2])); 
+0

大,這是工作;)謝謝 – Root125 2012-07-30 20:15:59

相關問題