2012-03-01 12 views
0

住所の一部(国、地域、郵便番号、市町村、通り、番号など)を入力できるウェブフォームがあります。その住所を表示する必要がありますgoogleマップで。私の問題は、住所の詳細に応じて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

答えて

関連する問題