2013-01-31 156 views
1

我忘记了我在JavaScript中学到的一切,所以我开始了一个项目,记住一些事情。但我有一个问题:与谷歌地图API v3麻烦 - Javascript

这是我在Javascript代码:

var peru = new google.maps.LatLng(-9, -75); 
    var browserSupportFlag = new Boolean(); 
    function initialize() { 
     var ubicacion; 
     var mapOptions = { 

      zoom: 6, 
      mapTypeId: google.maps.MapTypeId.ROADMAP, 

      mapTypeControl: true, 
      mapTypeControlOptions: { 
       style: google.maps.MapTypeControlStyle.DROPDOWN_MENU, 
       position: google.maps.ControlPosition.BOTTOM_LEFT 
      }, 
      zoomControl: true, 
      zoomControlOptions: { 
       style: google.maps.ZoomControlStyle.LARGE, 
       position: google.maps.ControlPosition.LEFT_CENTER 
      }, 

      panControl: false, 
      scaleControl: false, 
      streetViewControl: false, 

     }; 

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

     if (navigator.geolocation) { 
      browserSupportFlag = true; 
      navigator.geolocation.getCurrentPosition(function(position) { 
       ubicacion = new google.maps.LatLng(position.coords.latitude,position.coords.longitude); 
       map.setCenter(ubicacion); 
       }, function() { 
        handleNoGeolocation(browserSupportFlag); 
       } 
      ); 

     } else { 
      browserSupportFlag = false; 
      handleNoGeolocation(browserSupportFlag); 
     } 

     function handleNoGeolocation(errorFlag) { 
      if (errorFlag == true) { 
       alert("No se han otorgado permisos de Geolocalización, o el servicio falló. Utilice Google Chrome para mayor compatibilidad."); 
       ubicacion = peru; 
       } else { 
        alert("Su navegador no soporta Geolocalización. Puede continuar de igual forma, pero le sugerimos utilizar el navegador Google Chrome."); 
        ubicacion = peru; 
       } 

      map.setCenter(ubicacion); 
     } 

     function downloadUrl(url,callback) { 
      var request = window.ActiveXObject ? 
      new ActiveXObject('Microsoft.XMLHTTP') : 
      new XMLHttpRequest; 

      request.onreadystatechange = function() { 
       if (request.readyState == 4) { 
        request.onreadystatechange = doNothing; 
        callback(request, request.status); 
       } 
      }; 

      request.open('GET', url, true); 
      request.send(null); 
     } 

     function doNothing() {} 

     downloadUrl("phpsqlsearch_genxml.php?lat="+ubicacion.lat()+"&lng="+ubicacion.lng()+"&r=250", function(data) { 
      var xml = data.responseXML; 
      var markers = xml.documentElement.getElementsByTagName("marker"); 

      var infoWindow = new google.maps.InfoWindow; 

      function bindInfoWindow(marker, map, infoWindow, html) { 
       google.maps.event.addListener(marker, 'click', function() { 
       infoWindow.setContent(html); 
       infoWindow.open(map, marker); 
       }); 
      } 

      for (var i = 0; i < markers.length; i++) { 
       var name = markers[i].getAttribute("nombre"); 
       var address = markers[i].getAttribute("direccion"); 

       var point = new google.maps.LatLng(
        parseFloat(markers[i].getAttribute("lat")), 
        parseFloat(markers[i].getAttribute("lng"))); 
       var html = "<b>" + name + "</b> <br/>" + address; 

       var marker = new google.maps.Marker({ 
        map: map, 
        position: point, 

       }); 

       bindInfoWindow(marker, map, infoWindow, html); 
      } 
     }); 
    } 

而我的问题是这部分:

  downloadUrl("phpsqlsearch_genxml.php?lat="+ubicacion.lat()+"&lng="+ubicacion.lng()+"&r=250", function(data) {...} 

我想要得到的纬度和logitude变量,并把如果我的位置是-9.123792,-78.517313 y想要抓住这个URL:phpsqlsearch_genxml.php?lat = -9.123792 & lng = -78.517313 & r = 250

另外我希望搜索无线电可以选择...通过输入数字或类似的东西。

我真的不知道我是怎么做到这一切,我怎么会做所有我想要的:S

PS:对不起,我的英语。

回答

1

我假设你试图修改谷歌的Store locator。它具有您需要的所有功能。

你在哪里出现问题是你不及格坐标downloadUrl()

在演示功能searchLocationsNear(center)发送坐标(中心)要连接到的URL downloadUrl()被调用之前。

我会建议您按照演示,并确保您在修改之前了解它。

它也建议在phpsqlsearch_genxml.phpmysql功能使用PDO已被弃用

+0

哦,谢谢......我会按照在演示每一个步骤......但现在..是否有任何的加盟解决方案在我的代码中的网址的坐标? –