2012-03-01 49 views
0

我有一个网页表单,用户可以输入地址的部分 - 国家,地区,邮编,城市,街道,号码等。我需要显示该地址在谷歌地图上。我的问题是如何根据地址的详细信息制作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 2012-03-01 06:34:21

+0

我添加了一些代码,但不幸的是,该网站无法公开访问 – Thea 2012-03-01 06:37:04

+0

该网站的网址? – andresf 2012-03-01 06:53:04

回答