2011-07-11 5 views
1

私はマーカー付きのGoogleマップを使用しており、地図の上に検索フォームがあります。私はGDownloadUrl()を更新するためにonchangeを取得しようとしているので、ページにロードされているマーカーが絞り込まれています。ページへ更新GDownloadUrl()

<script type="text/javascript"> 
      function load() { 
       if (GBrowserIsCompatible()) { 
        var map = new GMap2(document.getElementById("map")); 
        map.addControl(new GSmallMapControl()); 
        map.addControl(new GMapTypeControl()); 
        map.setCenter(new GLatLng(38.85682, -96.943359), 4); 
        var selector = document.getElementById("sport"); 
var url = "url here ?sport="+selector.options[selector.selectedIndex].value+""; 
        GDownloadUrl(url, function(data) { 
         var xml = GXml.parse(data); 
         var markers = xml.documentElement.getElementsByTagName("marker"); 
         for (var i = 0; i < markers.length; i++) { 
          var name = markers[i].getAttribute("name"); 
          var address = markers[i].getAttribute("address"); 
          var type = markers[i].getAttribute("type"); 
          var title = markers[i].getAttribute("title"); 
          var id = markers[i].getAttribute("id"); 
          var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), 
          parseFloat(markers[i].getAttribute("lng"))); 
          var marker = createMarker(point, name, address, type, title, id); 
          map.addOverlay(marker); 
         } 
        }); 
       } 
      } 
      </script> 

リンク:http://michaelstevens.dyndns.org/athletenation/index.php?option=com_athletenation&view=Events&Itemid=3

答えて

1

を、私はそれが私が戻って一歩を踏み出した後はかなり簡単だったと私はしようとしていたかについて考え、それを考え出した。ここ

は、私が試したものですdo:

function changeme(){ 

    var map; //clears current icons 

//get the value of each input: 
var e = document.getElementById("sport"); 
var strUser = e.options[e.selectedIndex].value; 

var event = document.getElementById("event"); 
var strUserevent = event.options[event.selectedIndex].value; 

var price = document.getElementById("price"); 
var strUserprice = price.options[price.selectedIndex].value; 

var miles = document.getElementById("miles"); 
var strUsermiles = miles.options[miles.selectedIndex].value; 

var zip = document.getElementById("zip"); 
var strUserzip = document.getElementById('zip').value; 

    xmlurlsport = "?sport="+ strUser +""; 
    xmlurlevent = "&event="+ strUserevent +""; 
    xmlurlprice = "&price="+ strUserprice +""; 
    xmlurlmiles = "&miles="+ strUsermiles +""; 
    xmlurlzip = "&zip="+ strUserzip +""; 

var xmlurl = " url here "+xmlurlsport+""+xmlurlevent+""+xmlurlprice+""+xmlurlmiles+""+xmlurlzip+""; 


        var map = new GMap2(document.getElementById("map")); 
        map.addControl(new GSmallMapControl()); 
        map.addControl(new GMapTypeControl()); 
        map.setCenter(new GLatLng(38.85682, -96.943359), 4); 


        GDownloadUrl(xmlurl, function(data) { 
         var xml = GXml.parse(data); 
         var markers = xml.documentElement.getElementsByTagName("marker"); 
         for (var i = 0; i < markers.length; i++) { 
          var name = markers[i].getAttribute("name"); 
          var address = markers[i].getAttribute("address"); 
          var type = markers[i].getAttribute("type"); 
          var title = markers[i].getAttribute("title"); 
          var id = markers[i].getAttribute("id"); 
          var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), 
          parseFloat(markers[i].getAttribute("lng"))); 
          var marker = createMarker(point, name, address, type, title, id); 
          map.addOverlay(marker); 
         } 
        }); 




alert(xmlurl); 

} 
関連する問題