2011-08-12 11 views
0

誰でも助けることができます。私は、コードの下に持っているが、私は、マーカーをクリックしたときには、同じページに私をリダイレクトします。ここではGoogle MapのマーカーのURL

<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script> 

<script type="text/javascript"> 
function initialize() { 
    var myOptions = { 
    zoom: 14, 
    center: new google.maps.LatLng(<?php echo $latitude; ?>, <?php echo $longitude; ?>), 
    mapTypeId: google.maps.MapTypeId.ROADMAP, 
    streetViewControl: true, 
    scrollwheel: false 
    } 

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

    for (var i = 0; i < locations.length; i++) { 
     var image = new google.maps.MarkerImage('images/greenmarkers/'+ i +'.png'); 
     var location = locations[i]; 
     var myLatLng = new google.maps.LatLng(location[1], location[2]); 
     var marker = new google.maps.Marker({ 
      position: myLatLng, 
      map: map, 
      icon: image, 
      title: location[0], 
      url: location[3] 
     }); 


google.maps.event.addListener(marker, 'click', function() { 
    window.location.href = marker.url; 
}); 
    } 
} 
</script> 

<script type="text/javascript"> 
var locations = [['test', 63.3740200000000, 19.6301320000000, 'http://www.test.com'],['test1', 63.3725155758185, 19.6264879703522, 'http://www.test1.com'],['test2', 63.3762550022764, 19.6305649280548, 'http://www.test2.com']]; 
</script> 
+0

は、[共通機能・インのように見えますループの問題](http://stackoverflow.com/questions/3037598/how-to-get-around-the-jslint-error-dont-make-functions-within-a-loop)を参照してください。それを修正する基本的な方法については、http://stackoverflow.com/questions/6939983/creating-a-custom-google-map-with-multiple-markers-and-popup-windows-issues/6946209#6946209を参照してください。 –

+0

ありがとうございました。私は頑張った。 – Stipe

+0

@Stipe私の答えを試してください... – ATOzTOA

答えて

0
marker[i] = new google.maps.Marker({ 
      position: myLatLng, 
      map: map, 
      icon: image, 
      title: location[0], 
      url: location[3] 
     }); 


google.maps.event.addListener(marker[i], 'click', function() { 
    window.location.href = this.url; 
}); 
3

は、作業コードです:

function loadURL(marker) { 
    return function() { 
     window.location.href = marker.url; 
    } 
} 

function initialize() { 
    var myOptions = { 
    zoom: 5, 
    center: new google.maps.LatLng(50.00, 50.00), 
    mapTypeId: google.maps.MapTypeId.ROADMAP, 
    streetViewControl: true, 
    scrollwheel: false 
    } 

    locations=[["aaa",51.00, 51.00, "http://www.atoztoa.com"], ["bbb",52.00, 52.00, "http://www.google.com"]]; 

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

    for (var i = 0; i < locations.length; i++) { 
     var image = new google.maps.MarkerImage('roundedbutton1.png'); 
     var location = locations[i]; 
     var myLatLng = new google.maps.LatLng(location[1], location[2]); 
     var marker = new google.maps.Marker({ 
      position: myLatLng, 
      map: map, 
      icon: image, 
      title: location[0], 
      url: location[3] 
     }); 

     google.maps.event.addListener(marker, 'click', loadURL(marker)); 
    } 
} 
+0

ありがとうございます。これは私のために働いた! – sketchthat

関連する問題