2012-03-01 3 views
0

사용자가 주소 부분을 입력 할 수있는 웹 양식이 있습니다 - 국가, 지역, 우편 번호, 도시, 거리, 번호 등. 그 주소를 표시해야합니다. 구글 맵에. 내 문제는 주소의 세부 정보에 따라 Google지도를 확대하는 방법입니다. 사용자가 제공하는 정보가 많을수록지도가 확대됩니다. 예를 들어 사용자가 국가 만 선택한 경우지도가 국가 수준으로 확대됩니다. 거리가 제공되면지도가 거리 수준으로 확대됩니다. 여기Google지도 확대/축소 레버를 설정하는 방법 주소 세부 사항에 해당

는 지금 줌 레벨을 설정하는 방법입니다

 function UpdateAddressOnMap(sender, args) { 
      var address = ""; 
      var zoom = 6; 

      if ($("[id*='ddlCountry'] :selected").val() > 0) 
       address = $("[id*='ddlCountry'] :selected").text(); 

      if ($("[id*='ddlRegion'] :selected").val() > 0) 
       address += ", " + $("[id*='ddlRegion'] :selected").text(); 

      if ($("[id*='ddlDepartment'] :selected").val() > 0) 
       address += ", " + $("[id*='ddlDepartment'] :selected").text(); 
      alert($("[id*='tbPostalCode']").val()); 
      if ($("[id*='tbPostalCode']").val().length > 0) { 
       address += ", " + $("[id*='tbPostalCode']").val(); 
       zoom += 2; 
      } 

      if ($("[id*='tbCity']").val().length > 0) { 
       address += ", " + $("[id*='tbCity']").val(); 
       zoom += 1; 
      } 

      if ($("[id*='tbNeighbourgood']").val().length > 0) { 
       address += ", " + $("[id*='tbNeighbourgood']").val(); 
      } 

      if ($("[id*='tbStreet']").val().length > 0) { 
       address += ", " + $("[id*='tbStreet']").val(); 
       zoom += 2; 
      } 
      var geocoder = new google.maps.Geocoder(); 
      geocoder.geocode({ 'address': address }, function (results, status) { 

       if (status == google.maps.GeocoderStatus.OK) { 
        var latitude = results[0].geometry.location.lat(); 
        var longitude = results[0].geometry.location.lng(); 

        clearMarkers(); 
        showFullAddressesOnMap(latitude, longitude, address) 
        map.setZoom(zoom); 
       } 
      }); 
     } 
+0

실례가 있습니까? – andresf

+0

일부 코드를 추가했지만 유감스럽게도 웹 사이트에 공개적으로 액세스 할 수 없습니다 – Thea

+0

웹 사이트의 URL? – andresf

답변

관련 문제